Compartilhar via


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

Associa o identificador de janela do HWND especificado a um fluxo de áudio.

Sintaxe

HRESULT SetAudioStreamWindow(
  HWND hwnd
);

Parâmetros

hwnd

O HWND com o qual o fluxo de áudio será associado.

Observações

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 de IAudioClient que representa o fluxo ao qual você deseja associar uma janela. O exemplo de código a seguir ilustra como criar um fluxo de áudio no ponto de extremidade de renderização de áudio padrão e associá-lo 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
de cliente com suporte mínimo Windows Build 22621
servidor com suporte mínimo Windows Server, versão 23H2
cabeçalho audioclient.h