Método IAudioViewManagerService::SetAudioStreamWindow (audioclient.h)
Asocia el identificador de ventana HWND especificado a una secuencia de audio.
Sintaxis
HRESULT SetAudioStreamWindow(
HWND hwnd
);
Parámetros
hwnd
HWND con el que se asociará la secuencia de audio.
Comentarios
Una aplicación puede optar por asociar secuencias de audio a una ventana determinada de su aplicación para una representación de ubicación de audio adecuada en un escenario de Mixed Reality
Obtenga una instancia de IAudioViewManagerService llamando a GetService en la instancia de IAudioClient que representa la secuencia con la que desea asociar una ventana. En el ejemplo de código siguiente se muestra cómo crear una secuencia de audio en el punto de conexión de representación de audio predeterminado y asociarla con un 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 |
---|---|
Header | audioclient.h |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de