IAudioViewManagerService ::SetAudioStreamWindow, méthode (audioclient.h)
Associe le handle de fenêtre
Syntaxe
HRESULT SetAudioStreamWindow(
HWND hwnd
);
Paramètres
hwnd
Le HWND avec lequel le flux audio sera associé.
Remarques
Une application peut choisir d’associer des flux audio à une fenêtre particulière de son application pour une représentation d’emplacement audio appropriée dans un scénario de réalité mixte
Obtenez une instance du IAudioViewManagerService en appelant GetService sur l’instance IAudioClient représentant le flux auquel vous souhaitez associer une fenêtre. L’exemple de code suivant illustre la création d’un flux audio sur le point de terminaison de rendu audio par défaut et son association à 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;
}
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Build 22621 |
serveur minimum pris en charge | Windows Server, version 23H2 |
d’en-tête | audioclient.h |