Интерфейс ISpatialAudioClient (spatialaudioclient.h)
Интерфейс ISpatialAudioClient позволяет клиенту создавать аудиопотоки, которые выдают звук из положения в трехмерном пространстве. Этот интерфейс является частью Windows Sonic, аудиоплатформы Майкрософт для более иммерсивного звука, который включает в себя интегрированный пространственный звук на Xbox и Windows.
Наследование
Интерфейс ISpatialAudioClient наследуется от интерфейса IUnknown . ISpatialAudioClient также имеет следующие типы элементов:
Методы
Интерфейс ISpatialAudioClient содержит следующие методы.
ISpatialAudioClient::ActivateSpatialAudioStream Активирует и инициализирует пространственный аудиопоток с помощью одной из структур активации пространственного звукового потока. |
ISpatialAudioClient::GetMaxDynamicObjectCount Возвращает максимальное количество динамических звуковых объектов для пространственного аудиоконферентного клиента. |
ISpatialAudioClient::GetMaxFrameCount Возвращает максимально возможное количество кадров на проход обработки. Этот метод можно использовать для определения размера исходного буфера, который должен быть выделен для передачи звуковых данных для каждого прохода обработки. |
ISpatialAudioClient::GetNativeStaticObjectTypeMask Возвращает маску канала, представляющую подмножество каналов статической колонок, собственных для текущего модуля отрисовки. |
ISpatialAudioClient::GetStaticObjectPosition Возвращает позицию в трехмерном пространстве указанного статического пространственного звукового канала. |
ISpatialAudioClient::GetSupportedAudioObjectFormatEnumerator Возвращает IAudioFormatEnumerator, содержащий все поддерживаемые аудиоформаты для пространственных звуковых объектов. Первый элемент в списке представляет наиболее предпочтительный формат. |
ISpatialAudioClient::IsAudioObjectFormatSupported Возвращает значение, указывающее, поддерживает ли ISpatialAudioObjectRenderStream указанный формат. |
ISpatialAudioClient::IsSpatialAudioStreamAvailable При успешном выполнении получает значение, указывающее, поддерживает ли активный в данный момент механизм пространственной отрисовки указанный поток отрисовки пространственного звука. |
Комментарии
В следующем примере кода показано, как инициализировать этот интерфейс с помощью IMMDevice.
HRESULT hr;
Microsoft::WRL::ComPtr<IMMDeviceEnumerator> deviceEnum;
Microsoft::WRL::ComPtr<IMMDevice> defaultDevice;
hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), nullptr, CLSCTX_ALL, __uuidof(IMMDeviceEnumerator), (void**)&deviceEnum);
hr = deviceEnum->GetDefaultAudioEndpoint(EDataFlow::eRender, eMultimedia, &defaultDevice);
Microsoft::WRL::ComPtr<ISpatialAudioClient> spatialAudioClient;
hr = defaultDevice->Activate(__uuidof(ISpatialAudioClient), CLSCTX_INPROC_SERVER, nullptr, (void**)&spatialAudioClient);
Для приложений UWP, у которых нет доступа к IMMDevice, необходимо получить экземпляр ISpatialAudioClient , вызвав ActivateAudioInterfaceAsync. Пример см. в примере WindowsAudioSession.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10, версия 1703 [только классические приложения] |
Минимальная версия сервера | Windows Server 2016 [только классические приложения] |
Целевая платформа | Windows |
Header | spatialaudioclient.h |