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

IDirectSoundBuffer::GetPan

HRESULT GetPan( LPLONG lplPan );

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

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

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

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

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

Аргументы

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

Примечание

Метод IDirectSoundBuffer::GetPan позволяет получить величину стерео баланса между левым и правым каналами.

Значение величины, возвращаемой данным методом, измеряется в сотых долях децибела (дБ) и должно находиться в диапазоне от DSBPAN_LEFT до DSBPAN_RIGHT. В настоящее время значения этих величин определены в файле заголовка Dsound.h как -100 000 и 100 000 соответственно. Значение DSBPAN_LEFT означает, что правый канал ослабляется на 100 дБ. Значение DSBPAN_RIGHT означает, что левый канал ослабляется на 100 дБ. Нейтральной позиции DSBPAN_CENTER соответствует нулевое значение аргумента lplPan, обозначающее то, что оба канала не ослабляются (ослабляются на 0 дБ). Любые значения аргумента lplPan, отличные от DSBPAN_CENTER, означают, что ослабляется только один из каналов, а другой передаётся без изменения.

Если аргумент lplPan имеет значение -2173 это означает, что левый канал не ослабляется, а правый канал ослабляется на 21,73 дБ. Аналогично, значение 870 данного аргумента означает, что левый канал ослабляется на 8,7 дБ, а правый канал не ослабляется. Значение DSBPAN_LEFT означает полное заглушение правого канала и воспроизведение только по левому каналу, а значение DSBPAN_RIGHT означает противоположную ситуацию.

Значения ослабления, задаваемые в каждом из каналов уровнем воспроизведения и стерео балансом, складываются в децибельной шкале.

IDirectSoundBuffer::GetStatus

HRESULT GetStatus( LPDWORD lpdwStatus );

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

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

Аргументы

  1. lpdwStatus — указатель на переменную, в которую будет записан статус аудио буфера. Этот аргумент может содержать следующие флаги:

  • DSBSTATUS_BUFFERLOST — буфер был освобождён и должен быть восстановлен прежде, чем содержащаяся в нём информация может быть воспроизведена или заблокирована.

  • DSBSTATUS_LOOPING — буфер настроен на кольцевое воспроизведение. Если этот флаг не установлен, воспроизведение буфера будет остановлено при достижении курсором воспроизведения конца аудио буфера.

  • DSBSTATUS_PLAYING — буфер воспроизводится. Если этот флаг не установлен, воспроизведение аудио буфера остановлено.

Примечание

Метод IDirectSoundBuffer::GetStatus позволяет получить текущий статус аудио буфера.

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