Программирование звука в DirectSound - Интерфейс IDirectSoundCapture
ОГЛАВЛЕНИЕ
Страница 21 из 22
Интерфейс IDirectSoundCapture
Обслуживает объекты устройств захвата (записи). Поскольку процессы воспроизведения и захвата в большинстве своем симметричны, методы интерфейса подобны методам IDirectSound. Разница заключается лишь в типизации параметров и структур.
Интерфейс содержит следующие методы:
Initialize | Инициализация объекта устройства |
---|---|
GetCaps | Запрос параметров и возможностей устройства |
CreateCaptureBuffer | Создание буфера захвата |
Initialize - инициализация объекта устройства
HRESULT IDirectSoundCapture::Initialize (
LPCGUID GUID
);
Подобен методу IDirectSound::Initialize.
GetCaps - запрос параметров устройства
HRESULT IDirectSoundCapture::GetCaps (
DSCCAPS *Caps
);
- Caps - указатель описателя параметров устройства захвата (структура DSCCAPS).
Подобен методу IDirectSound::GetCaps.
CreateCaptureBuffer - создание буфера захвата
HRESULT IDirectSoundCapture::CreateCaptureBuffer (
DSCBUFFERDESC *BufferDesc,
LPDIRECTSOUNDCAPTUREBUFFER *Buffer,
UNKNOWN *Outer
);
- BufferDesc - указатель описателя создаваемого буфера (структура DSCBUFFERDESC);
- Buffer - указатель переменной, в которой будет возвращен указатель созданного объекта буфера;
- Outer - указатель объекта <наружного> интерфейса IUnknown. Не используется, должен иметь нулевое значение.
Подобен методу IDirectSound::CreateSoundBuffer. В отличие от процесса воспроизведения, допускающего смешивание нескольких источников, процесс захвата допускает наличие только одного буфера, и здесь нет разделения на первичный и вторичные буферы.