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

IDirectSoundBuffer::GetFormat

HRESULT GetFormat( LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten );

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

В случае успешного завершения возвращает значение DS_OK. В противном случае возвращается значение DSERR_INVALIDPARAM, указывающее на то, один или несколько аргументов метода имеют недопустимые значения.

Аргументы

  1. lpwfxFormat — указатель на объект структуры WAVEFORMATEX в которую будет занесено описание формата данных в аудио буфере. Для получения размера буфера, необходимого для хранения данного объекта структуры, в этом аргументе следует передать нулевое значение. В этом случае двойное слово, на которое указывает аргумент lpdwSizeWritten, будет содержать размер структуры, необходимой для хранения всей информации о формате данных.

  2. dwSizeAllocated — размер объекта структуры WAVEFORMATEX в байтах. Эта величина определяет максимальный размер записываемой информации. Если в объект структуры WAVEFORMATEX нужно поместить большее количество информации, то эта информация усекается по данной границе.

  3. lpdwSizeWritten — указатель на переменную, в которую будет записан фактический размер объекта структуры WAVEFORMATEX. Этот аргумент может принимать нулевое значение.

Примечание

Метод IDirectSoundBuffer::GetFormat позволяет получить описание формата данных в аудио буфере или размера объекта структуры WAVEFORMATEX, необходимого для записи всей информации о формате данных.

Объект структуры WAVEFORMATEX может иметь различную длину в зависимости от описываемого им формата, поэтому прежде, чем создавать объект данной структуры, приложение должно запросить размер создаваемого буфера. Для этого вызывается метод IDirectSoundBuffer::GetFormat, которому в качестве аргумента lpwfxFormat передаётся нулевое значение. При таком вызове требуемый размер структуры возвращается в аргументе lpdwSizeWritten. Получив эту информацию, приложение может создать объект надлежащего размера и снова вызвать метод IDirectSoundBuffer::GetFormat для его заполнения.

IDirectSoundBuffer::GetFrequency

HRESULT GetFrequency( LPDWORD lpdwFrequency );

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

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

  • DSERR_CONTROLUNAVAIL — требуемый элемент управления (уровень воспроизведения, стерео баланс и т.д.) отсутствует.

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

  • DSERR_PRIOLEVELNEEDED — вызывающее приложение имеет недостаточно высокий уровень приоритета для вызова данной функции.

Аргументы

  1. lpdwFrequency — указатель на переменную, в которую будет записано значение частоты дискретизации, используемой при воспроизведении аудио буфера.

Примечание

Метод IDirectSoundBuffer::GetFrequency позволяет получить значение частоты дискретизации, используемой при воспроизведении аудио буфера.

Значение частоты дискретизации должно находиться в диапазоне от DSBFREQUENCY_MIN до DSBFREQUENCY_MAX. В настоящее время значения этих величин определены в файле заголовка Dsound.h как 100 и 100 000 соответственно.

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