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