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

IDirectSoundCapture::GetCaps

HRESULT GetCaps( LPDSCCAPS lpDSCCaps );

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

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

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

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

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

  • DSERR_UNINITIALIZED — перед вызовом данной функции не был вызван метод IDirectSound::Initialize или его выполнение завершилось с ошибкой.

  • DSERR_UNSUPPORTED — вызываемая функция в данный момент недоступна.

Аргументы

  1. lpDSCCaps — указатель на объект структуры DSCCAPS, в который будут записаны параметры устройства. При вызове данного метода в переменной dwSize передаваемого ему объекта структуры должен уже содержаться её размер в байтах.

Примечание

Метод IDirectSoundCapture::GetCaps позволяет получить описание возможностей устройства записи аудио информации.

IDirectSoundCaptureBuffer

Методы интерфейса IDirectSoundCaptureBuffer используются для работы с буфером записи аудио информации. Для создания объекта данного интерфейса используется метод IDirectSoundCapture::CreateCaptureBuffer. Как и все другие интерфейсы COM, IDirectSoundCaptureBuffer наследует методы интерфейса IUnknown.

В качестве указателя на интерфейс IDirectSoundCaptureBuffer определён тип LPDIRECTSOUNDCAPTUREBUFFER:

typedef struct IDirectSoundCaptureBuffer *LPDIRECTSOUNDCAPTUREBUFFER;

Описание данного интерфейса содержится в файле заголовка dsound.h. При работе с данным интерфейсом следует включить в проект библиотеку dsound.lib.

IDirectSoundCaptureBuffer::GetCaps

HRESULT GetCaps( LPDSCBCAPS lpDSCBCaps );

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

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

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

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

  • DSERR_UNSUPPORTED — вызываемая функция в данный момент недоступна.

Аргументы

  1. lpDSCBCaps — указатель на объект структуры DSCBCAPS, в который будут записаны параметры буфера записи. При вызове данного метода в переменной dwSize передаваемого ему объекта структуры должен уже содержаться её размер в байтах.

Примечание

Метод IDirectSoundCaptureBuffer::GetCaps позволяет получить описание параметров буфера записи аудио информации.

IDirectSoundCaptureBuffer::GetCurrentPosition

HRESULT GetCurrentPosition( LPDWORD lpdwCapturePosition, LPDWORD lpdwReadPosition );

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

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

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

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

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

Аргументы

  1. lpdwCapturePosition — указатель на переменную, в которую будет записана текущая позиция записи в объекте DirectSoundCaptureBuffer. Эта позиция представляет собой смещение от начала буфера, измеряемое в байтах. Этот аргумент может принимать нулевое значение, если вызывающее приложение не интересует информация о текущей позиции записи в данном буфере.

  2. lpdwReadPosition — указатель на переменную, в которую будет записана текущая позиция чтения в объекте DirectSoundCaptureBuffer. Эта позиция представляет собой смещение от начала буфера, измеряемое в байтах, и соответствует позиции, до которой можно безопасно считывать данные. Этот аргумент может принимать нулевое значение, если вызывающее приложение не интересует информация о текущей позиции чтения в буфере.

Примечание

Метод IDirectSoundCaptureBuffer::GetCurrentPosition позволяет получить текущие позиции записи и чтения в буфере записи.

Позиция записи опережает позицию чтения. Эти позиции не всегда совпадают вследствие возможной буферизации данных устройстве записи или в сервере. Данные, начиная с позиции чтения до позиции записи (включительно) могут хранить некорректные данные.

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