ISpatialAudioClient::ActivateSpatialAudioStream 메서드(spatialaudioclient.h)
공간 오디오 스트림 활성화 구조 중 하나를 사용하여 공간 오디오 스트림을 활성화하고 초기화합니다.
구문
HRESULT ActivateSpatialAudioStream(
[in] const PROPVARIANT *activationParams,
[in] REFIID riid,
[out] void **stream
);
매개 변수
[in] activationParams
공간 오디오 스트림에 대한 활성화 매개 변수를 정의하는 구조체입니다. vt 필드는 VT_BLOB 설정해야 하며 Blob 필드는 SpatialAudioObjectRenderStreamActivationParams 또는 SpatialAudioObjectRenderStreamForMetadataActivationParams로 채워져야 합니다.
[in] riid
활성화할 공간 오디오 스트림 인터페이스의 UUID입니다.
[out] stream
활성화된 공간 오디오 인터페이스를 수신하는 포인터에 대한 포인터입니다.
반환 값
메서드가 성공하면 S_OK가 반환되고,
설명
이 메서드는 다음 공간 오디오 스트림 인터페이스의 활성화를 지원합니다.
ISpatialAudioObjectRenderStream
ISpatialAudioObjectRenderStreamForMetadata
예제
Microsoft::WRL::ComPtr<ISpatialAudioClient> spatialAudioClient;
// Activate ISpatialAudioClient on the desired audio-device
hr = defaultDevice->Activate(__uuidof(ISpatialAudioClient), CLSCTX_INPROC_SERVER, nullptr, (void**)&spatialAudioClient);
hr = spatialAudioClient->IsAudioObjectFormatSupported(&format);
// Create the event that will be used to signal the client for more data
HANDLE bufferCompletionEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);
SpatialAudioObjectRenderStreamActivationParams streamParams;
streamParams.ObjectFormat = &format;
streamParams.StaticObjectTypeMask = ChannelMask_Stereo;
streamParams.MinDynamicObjectCount = 0;
streamParams.MaxDynamicObjectCount = 0;
streamParams.Category = AudioCategory_SoundEffects;
streamParams.EventHandle = bufferCompletionEvent;
streamParams.NotifyObject = nullptr;
PROPVARIANT activationParams;
PropVariantInit(&activationParams);
activationParams.vt = VT_BLOB;
activationParams.blob.cbSize = sizeof(streamParams);
activationParams.blob.pBlobData = reinterpret_cast<BYTE *>(&streamParams);
Microsoft::WRL::ComPtr<ISpatialAudioObjectRenderStream> spatialAudioStream;
hr = spatialAudioClient->ActivateSpatialAudioStream(&activationParams, __uuidof(spatialAudioStream), (void**)&spatialAudioStream);
요구 사항
대상 플랫폼 | Windows |
헤더 | spatialaudioclient.h |