Interface ISpatialAudioClient (spatialaudioclient.h)
A interface ISpatialAudioClient permite que um cliente crie fluxos de áudio que emitem áudio de uma posição no espaço 3D. Essa interface faz parte do Windows Sonic, plataforma de áudio da Microsoft para áudio mais imersivo que inclui som espacial integrado no Xbox e no Windows.
Herança
A interface ISpatialAudioClient herda da interface IUnknown . ISpatialAudioClient também tem estes tipos de membros:
Métodos
A interface ISpatialAudioClient tem esses métodos.
ISpatialAudioClient::ActivateSpatialAudioStream Ativa e inicializa o fluxo de áudio espacial usando uma das estruturas de ativação de fluxo de áudio espacial. |
ISpatialAudioClient::GetMaxDynamicObjectCount Obtém o número máximo de objetos de áudio dinâmicos para o cliente de áudio espacial. |
ISpatialAudioClient::GetMaxFrameCount Obtém a contagem máxima de quadros possível por passagem de processamento. Esse método pode ser usado para determinar o tamanho do buffer de origem que deve ser alocado para transmitir dados de áudio para cada passagem de processamento. |
ISpatialAudioClient::GetNativeStaticObjectTypeMask Obtém uma máscara de canal que representa o subconjunto de canais estáticos de cama de alto-falante nativos para o mecanismo de renderização atual. |
ISpatialAudioClient::GetStaticObjectPosition Obtém a posição no espaço 3D do canal de áudio espacial estático especificado. |
ISpatialAudioClient::GetSupportedAudioObjectFormatEnumerator Obtém um IAudioFormatEnumerator que contém todos os formatos de áudio com suporte para objetos de áudio espaciais, o primeiro item na lista representa o formato mais preferível. |
ISpatialAudioClient::IsAudioObjectFormatSupported Obtém um valor que indica se ISpatialAudioObjectRenderStream dá suporte a um formato especificado. |
ISpatialAudioClient::IsSpatialAudioStreamAvailable Quando bem-sucedido, obtém um valor que indica se o mecanismo de renderização espacial ativo no momento dá suporte ao fluxo de renderização de áudio espacial especificado. |
Comentários
O código de exemplo a seguir ilustra como inicializar essa interface usando 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);
Para aplicativos UWP que não têm acesso ao IMMDevice, você deve obter uma instância de ISpatialAudioClient chamando ActivateAudioInterfaceAsync. Para obter um exemplo, consulte o exemplo WindowsAudioSession.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1703 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2016 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | spatialaudioclient.h |