Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

IDirectSoundCaptureBuffer::Start

HRESULT Start( DWORD dwFlags );

Возвращаемое значение

В случае успешного завершения возвращает значение DS_OK. В противном случае возвращаемое значение может принимать одно из следующих значений:

  • DSERR_INVALIDPARAM — один или несколько аргументов метода имеют недопустимые значения.

  • DSERR_NODRIVER — отсутствует драйвер аудио устройства.

  • DSERR_OUTOFMEMORY — недостаточно памяти для выполнения требуемой операции.

Аргументы

  1. dwFlags — флаги, определяющие поведение буфера записи. Этот аргумент может принимать значение DSCBSTART_LOOPING, указывающее на то, что при достижении курсором записи конца буфера, запись продолжится с его начала, уничтожая при этом записанные в нём данные.

Примечание

Метод IDirectSoundCaptureBuffer::Start инициирует процедуру записи аудио информации в буфер. Если в данный буфер уже записываются данные, вызов этого метода не приводит ни к каким изменениям в системе.

IDirectSoundCaptureBuffer::Stop

HRESULT Stop( void );

Возвращаемое значение

В случае успешного завершения возвращает значение DS_OK. В противном случае возвращаемое значение может принимать одно из следующих значений:

  • DSERR_NODRIVER — отсутствует драйвер аудио устройства.

  • DSERR_OUTOFMEMORY — недостаточно памяти для выполнения требуемой операции.

Примечание

Метод IDirectSoundCaptureBuffer::Stop устанавливает буфер записи в режим останова и прекращает запись аудио информации. Если буфер записи уже находится в режиме останова, вызов данного метода не приводит ни к каким изменениям в системе.

IDirectSoundCaptureBuffer::Unlock

HRESULT Unlock( LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2 );

Возвращаемое значение

В случае успешного завершения возвращает значение DS_OK. В противном случае возвращаемое значение может принимать одно из следующих значений:

  • DSERR_INVALIDCALL — вызов данной функции недопустим при текущем состоянии объекта.

  • DSERR_INVALIDPARAM — один или несколько аргументов метода имеют недопустимые значения.

Аргументы

  1. lpvAudioPtr1 — указатель на величину, полученную в аргументе lpvAudioPtr1 метода IDirectSoundCaptureBuffer::Lock.

  2. dwAudioBytes1 — размер в байтах блока данных фактически считанного по адресу lpvAudioPtr1. Значение данного аргумента не должно превышать размера буфера, возвращённого в методе IDirectSoundCaptureBuffer::Lock.

  3. lpvAudioPtr2 — указатель на величину, полученную в аргументе lpvAudioPtr2 метода IDirectSoundCaptureBuffer::Lock.

  4. dwAudioBytes2 — размер в байтах блока данных фактически считанного по адресу lpvAudioPtr2. Значение данного аргумента не должно превышать размера буфера, возвращённого в методе IDirectSoundCaptureBuffer::Lock.

Примечание

Метод IDirectSoundCaptureBuffer::Unlock освобождает заблокированный буфер записи.

Для правильного согласования работы методов IDirectSoundCaptureBuffer::Lock и IDirectSoundCaptureBuffer::Unlock приложение должно передавать данной функции как значение lpvAudioPtr1, так и значение lpvAudioPtr2, возвращённые методом IDirectSoundBuffer::Lock. Передача второго указателя обязательна даже в том случае, когда по этому адресу не было считано никакой информации.

Приложение должно передать объём информации, считанной по каждому из двух адресов в переменных dwAudioBytes1 и dwAudioBytes2.

Необходимо следить за тем, чтобы буфер записи не блокировался в течение длительного времени.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]