Compartir a través de


Método IAudioViewManagerService::SetAudioStreamWindow (audioclient.h)

Asocia el identificador de ventana de 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.

Observaciones

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 Realidad mixta

Obtenga una instancia del 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
cliente mínimo admitido Windows Build 22621
servidor mínimo admitido Windows Server, versión 23H2
encabezado de audioclient.h