Método IAudioViewManagerService::SetAudioStreamWindow (audioclient.h)
Associa o identificador de janela HWND especificado a um fluxo de áudio.
Sintaxe
HRESULT SetAudioStreamWindow(
HWND hwnd
);
Parâmetros
hwnd
O HWND ao qual o fluxo de áudio será associado.
Comentários
Um aplicativo pode optar por associar fluxos de áudio a uma janela específica de seu aplicativo para uma representação de local de áudio adequada em um cenário de Realidade Misturada
Obtenha uma instância do IAudioViewManagerService chamando GetService na instância IAudioClient que representa o fluxo ao qual você deseja associar uma janela. O exemplo de código a seguir ilustra a criação de um fluxo de áudio no ponto de extremidade de renderização de áudio padrão e a associação a um HWND.
#include <audioclient.h>
HRESULT CreateAudioStreamAndAttachToHwnd(_In_ HWND hwnd, _Out_ IAudioClient **audioStream)
{
wil::com_ptr_nothrow<IMMDeviceEnumerator> enumerator;
RETURN_IF_FAILED(CoCreateInstance(__uuidof(IMMDeviceEnumerator),
NULL,
CLSCTX_ALL,
IID_PPV_ARGS(&enumerator)));
wil::com_ptr_nothrow<IMMDevice> device;
RETURN_IF_FAILED(enumerator->GetDefaultAudioEndpoint(eRender, eConsole, &device));
wil::com_ptr_nothrow<IAudioClient> audioClient;
RETURN_IF_FAILED(device->Activate(__uuidof(IAudioClient),
CLSCTX_ALL,
NULL,
(void**)&audioClient));
wil::unique_cotaskmem_ptr<WAVEFORMATEX> wfx;
RETURN_IF_FAILED(audioClient->GetMixFormat(wil::out_param_ptr<WAVEFORMATEX**>(wfx)));
constexpr REFERENCE_TIME hnsRequestedDuration = 10000000;
RETURN_IF_FAILED(audioClient->Initialize(AUDCLNT_SHAREMODE_SHARED,
0,
hnsRequestedDuration,
0,
wfx.get(),
NULL));
wil::com_ptr_nothrow<IAudioViewManagerService> audioViewManagerService;
RETURN_IF_FAILED(audioClient->GetService(IID_PPV_ARGS(&audioViewManagerService)));
RETURN_IF_FAILED(audioViewManagerService->SetAudioStreamWindow(hwnd));
*audioStream = spAudioClient.detach();
return S_OK;
}
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | audioclient.h |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de