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

IDirectSound::SetCooperativeLevel

HRESULT SetCooperativeLevel( HWND hwnd, DWORD dwLevel );

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

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

  • DSERR_ALLOCATED — ресурс, например, уровень приоритета, уже предоставлен по другому запросу.

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

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

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

Аргументы

  1. hwnd — дескриптор окна приложения.

  2. dwLevel — запрашиваемый уровень приоритета. Может принимать одно из следующих значений:

  • DSSCL_EXCLUSIVE — устанавливает для приложения исключительный уровень приоритета. Когда это приложение получает фокус ввода, оно запрещает вывод аудио информации из других источников (аудио информация из приложений с установленным флагом DSBCAPS_GLOBALFOCUS будет заглушаться). Этот уровень приоритета позволяет пользоваться всеми привилегиями, предоставляемыми на уровне приоритета DSSCL_PRIORITY. DirectSound восстановит формат аппаратного обеспечения в соответствии с установками, использованными при последнем вызове метода IDirectSound::SetFormat, при получении фокуса ввода. (Следует отметить, что DirectSound всегда восстановит формат вывода звуковой информации независимо от установленного уровня приоритета).

  • DSSCL_NORMAL — устанавливает полный кооперативный статус приложения. Этот уровень приоритета используется большинством приложений, поскольку он позволяет наилучшим образом организовать многозадачный режим работы и разделение ресурсов.

  • DSSCL_PRIORITY — устанавливает повышенный уровень приоритета. Приложения, использующие данный уровень приоритета, могут вызывать методы IDirectSound::SetFormat и IDirectSound::Compact.

  • DSSCL_WRITEPRIMARY — является наивысшим уровнем приоритета. Приложение получает доступ к первичному аудио буферу. Ни один из вторичных аудио буферов не воспроизводится. Этот уровень приоритета не может быть установлен, если DirectSound производит эмуляцию устройства, то есть если в структуре DCAPS, возвращаемой методом IDirectSound::GetCaps установлен флаг DSCAPS_EMULDRIVER.

Примечание

Метод IDirectSound::SetCooperativeLevel устанавливает уровень приоритета приложения для данного аудио устройства. Приложение должно установить уровень приоритета до того, как его буфера будут использованы для воспроизведения. Рекомендуется использовать уровень приоритета DSSCL_NORMAL.

IDirectSound::SetSpeakerConfig

HRESULT SetSpeakerConfig( DWORD dwSpeakerConfig );

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

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

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

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

Аргументы

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

  • DSSPEAKER_HEADPHONE — аудио информация должна выводится на наушники.

  • DSSPEAKER_MONO — аудио информация должна выводится в монофоническом режиме.

  • DSSPEAKER_QUAD — аудио информация должна выводится в квадрофоническом режиме.

  • DSSPEAKER_STEREO — аудио информация выводится в стереофоническом режиме (режим, используемый по умолчанию). Данный режим может комбинироваться со следующими подрежимами:

  • DSSPEAKER_SURROUND — аудио информация выводится через динамики, обеспечивающие объёмное звучание.

  • DSSPEAKER_GEOMETRY_WIDE — оси динамиков повёрнуты на 20 градусов.

  • DSSPEAKER_GEOMETRY_NARROW — оси динамиков повёрнуты на 10 градусов.

  • DSSPEAKER_GEOMETRY_MIN — оси динамиков повёрнуты на 5 градусов.

  • DSSPEAKER_GEOMETRY_MAX — оси динамиков повёрнуты на 180 градусов.

Примечание

Метод IDirectSound::SetSpeakerConfig позволяет задать конфигурацию звукоизлучающих устройств объекта DirectSound.

Информация о геометрии звукоизлучающих устройств может быть упакована в двойное слово (DWORD) вместе с флагом DSSPEAKER_STEREO. Для этого может использоваться макрос DSSPEAKER_COMBINED пример использования которого приведён ниже:

lpds->SetSpeakerConfig(DSSPEAKER_COMBINED( DSSPEAKER_STEREO,

DSSPEAKER_GEOMETRY_WIDE));

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