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

IDirectSoundBuffer::SetFrequency

HRESULT SetFrequency( DWORD dwFrequency );

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

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

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

  • DSERR_GENERIC — в подсистеме DirectSound возникла неопознанная ошибка.

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

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

Аргументы

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

  2. Если данный аргумент имеет значение DSBFREQUENCY_ORIGINAL, то для данного буфера устанавливается значение, принятое для него по умолчанию, и определённое в формате звукового буфера переданного методу IDirectSound::CreateSoundBuffer.

Примечание

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

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

IDirectSoundBuffer::SetPan

HRESULT SetPan( LONG lPan );

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

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

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

  • DSERR_GENERIC — в подсистеме DirectSound возникла неопознанная ошибка.

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

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

Аргументы

  1. lPan — величина стерео баланса между левым и правым каналами.

Примечание

Метод 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 означает противоположную ситуацию.

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

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