Поделиться через


Метод IAudioClient3::GetSharedModeEnginePeriod (audioclient.h)

Возвращает диапазон периодичности, поддерживаемый подсистемой для указанного формата потока. Периодичность подсистемы — это скорость, с которой обработчик активирует управляемый событиями звуковой клиент для передачи звуковых данных в подсистему или из нее. Возвращаемые значения зависят от характеристик звукового клиента, указанных в предыдущем вызове IAudioClient2::SetClientProperties.

Синтаксис

HRESULT GetSharedModeEnginePeriod(
  [in]  const WAVEFORMATEX *pFormat,
  [out] UINT32             *pDefaultPeriodInFrames,
  [out] UINT32             *pFundamentalPeriodInFrames,
  [out] UINT32             *pMinPeriodInFrames,
  [out] UINT32             *pMaxPeriodInFrames
);

Параметры

[in] pFormat

Тип: const WAVEFORMATEX*

Формат потока, для которого запрашиваются поддерживаемые периодичности.

[out] pDefaultPeriodInFrames

Тип: UINT32*

Период по умолчанию, с которого подсистема будет разбудить клиент для передачи примеров звука.

[out] pFundamentalPeriodInFrames

Тип: UINT32*

Фундаментальный период, в течение которого подсистема будет разбудить клиент для передачи примеров звука. При настройке периодичности звукового модуля необходимо использовать целочисленный кратный этому значению.

[out] pMinPeriodInFrames

Тип: UINT32*

Самый короткий период в звуковых кадрах, с которого звуковой механизм будет разбудить клиента для передачи примеров звука.

[out] pMaxPeriodInFrames

Тип: UINT32*

Самый длительный период в аудиокадрах, с помощью которого звуковой механизм будет разбудить клиента для передачи звуковых примеров.

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

Тип: HRESULT

Этот метод возвращает S_OK , чтобы указать, что он успешно завершен. В противном случае возвращается соответствующий код ошибки.

Комментарии

Звуковые клиенты запрашивают определенную периодичность от обработчика звука с параметром PeriodInFrames к IAudioClient3::InitializeSharedAudioStream. Значение PeriodInFrames должно быть целочисленным, кратным значению, возвращаемого в параметре pFundamentalPeriodInFrames . PeriodInFrames также должно быть больше или равно значению, возвращаемого в pMinPeriodInFrames , и меньше или равно значению pMaxPeriodInFrames.

Например, для формата 44100 кГц GetSharedModeEnginePeriod может возвращать следующее:

  • pDefaultPeriodInFrames = 448 кадров (около 10,16 миллисекунда)

  • pFundamentalPeriodInFrames = 4 кадра (около 0,09 миллисекунд)

  • pMinPeriodInFrames = 48 кадров (около 1,09 миллисекунда)

  • pMaxPeriodInFrames = 448 кадров (аналогично значению по умолчанию)

Допустимые значения параметра PeriodInFrames для InitializeSharedAudioStream будут включать 48 и 448. Они также будут включать такие вещи, как 96 и 128.

Они НЕ будут включать 4 (что меньше минимально допустимого значения) или 98 (что не кратно фундаментальному) или 1000 (что больше максимально допустимого значения).

Требования

Требование Значение
Минимальная версия клиента Windows 10 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Целевая платформа Windows
Header audioclient.h

См. также раздел

IAudioClient3