Estrutura SpatialAudioHrtfActivationParams2 (spatialaudiohrtf.h)
Representa parâmetros de ativação para um fluxo de renderização de áudio espacial, estendendo SpatialAudioHrtfActivationParams (spatialaudiohrtf.h) com a capacidade de especificar opções de fluxo.
Sintaxe
typedef struct SpatialAudioHrtfActivationParams2 {
const WAVEFORMATEX *ObjectFormat;
AudioObjectType StaticObjectTypeMask;
UINT32 MinDynamicObjectCount;
UINT32 MaxDynamicObjectCount;
AUDIO_STREAM_CATEGORY Category;
HANDLE EventHandle;
ISpatialAudioObjectRenderStreamNotify *NotifyObject;
SpatialAudioHrtfDistanceDecay *DistanceDecay;
SpatialAudioHrtfDirectivityUnion *Directivity;
SpatialAudioHrtfEnvironmentType *Environment;
SpatialAudioHrtfOrientation *Orientation;
SPATIAL_AUDIO_STREAM_OPTIONS Options;
} SpatialAudioHrtfActivationParams2;
Membros
ObjectFormat
Descritor de formato para objetos de áudio espaciais associados ao fluxo. Todos os objetos devem ter o mesmo formato e devem ser do tipo WAVEFORMATEX ou WAVEFORMATEXTENSIBLE.
StaticObjectTypeMask
Uma combinação bit a bit de valores AudioObjectType indicando o conjunto de canais de áudio espaciais estáticos que serão permitidos pelo fluxo ativado.
MinDynamicObjectCount
O número mínimo de objetos dinâmicos simultâneos. Se esse número de objetos de áudio dinâmicos não puder ser ativado simultaneamente, nenhum objeto de áudio dinâmico será ativado.
MaxDynamicObjectCount
O número máximo de objetos dinâmicos simultâneos que podem ser ativados com ISpatialAudioRenderStreamForHrtf.
Category
A categoria do fluxo de áudio e seus objetos de áudio espaciais.
EventHandle
O evento que sinalizará o cliente para fornecer mais dados de áudio. Esse identificador será duplicado internamente antes de ser usado.
NotifyObject
O objeto que fornece notificações para clientes de áudio espacial responderem a alterações no estado de um ISpatialAudioRenderStreamForHrtf. Esse objeto é usado para notificar os clientes de que o número de objetos de áudio espacial dinâmicos que podem ser ativados simultaneamente está prestes a ser alterado.
DistanceDecay
Valor padrão opcional para o modelo de decaimento usado para objetos ISpatialAudioObjectForHrtf associados ao fluxo. nullptr se não for utilizado.
Directivity
Valor padrão opcional para o modelo de directividade de áudio espacial usado para objetos ISpatialAudioObjectForHrtf associados ao fluxo. nullptr se não for utilizado.
Environment
Valor padrão opcional para o tipo de ambiente que é simulado quando o áudio é processado para objetos ISpatialAudioObjectForHrtf associados ao fluxo. nullptr se não for utilizado.
Orientation
Valor padrão opcional para a orientação dos objetos ISpatialAudioObjectForHrtf associados ao fluxo. nullptr se não for utilizado.
Options
Um membro da emumeração SPATIAL_AUDIO_STREAM_OPTIONS , especificando opções para o fluxo de áudio ativado.
Comentários
O exemplo a seguir elimina a ativação de um fluxo de renderização de áudio espacial para HRTF com opções de fluxo.
void CreateSpatialAudioObjectRenderStreamForHrtf(
_In_ ISpatialAudioClient2* spatialAudioClient,
_In_ WAVEFORMATEX const* objectFormat,
AudioObjectType staticObjectTypeMask,
UINT32 minDynamicObjectCount,
UINT32 maxDynamicObjectCount,
AUDIO_STREAM_CATEGORY streamCategory,
_In_ HANDLE eventHandle,
_In_opt_ ISpatialAudioObjectRenderStreamNotify* notifyObject,
_In_opt_ SpatialAudioHrtfDistanceDecay* distanceDecay,
_In_opt_ SpatialAudioHrtfDirectivityUnion* directivity,
_In_opt_ SpatialAudioHrtfEnvironmentType* environment,
_In_opt_ SpatialAudioHrtfOrientation* orientation,
bool enableOffload,
_COM_Outptr_ ISpatialAudioObjectRenderStreamForHrtf** stream)
{
SpatialAudioHrtfActivationParams2 streamActivationParams =
{
objectFormat,
staticObjectTypeMask,
minDynamicObjectCount,
maxDynamicObjectCount,
streamCategory,
eventHandle,
notifyObject,
distanceDecay,
directivity,
environment,
orientation,
enableOffload ? SPATIAL_AUDIO_STREAM_OPTIONS_OFFLOAD : SPATIAL_AUDIO_STREAM_OPTIONS_NONE
};
PROPVARIANT activateParamsPropVariant = {};
activateParamsPropVariant.vt = VT_BLOB;
activateParamsPropVariant.blob.cbSize = sizeof(streamActivationParams);
activateParamsPropVariant.blob.pBlobData = reinterpret_cast<BYTE*>(&streamActivationParams);
*stream = nullptr;
THROW_IF_FAILED(spatialAudioClient->ActivateSpatialAudioStream(&activateParamsPropVariant, IID_PPV_ARGS(stream)));
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Build 22000 |
Cabeçalho | spatialaudiohrtf.h |