Compartilhar via


Método ISpatialAudioObjectRenderStreamForMetadata::ActivateSpatialAudioObjectForMetadataCommands (spatialaudiometadata.h)

Ative um ISpatialAudioObjectForMetadataCommands para renderização.

Sintaxe

HRESULT ActivateSpatialAudioObjectForMetadataCommands(
  [in]  AudioObjectType                        type,
  [out] ISpatialAudioObjectForMetadataCommands **audioObject
);

Parâmetros

[in] type

O tipo de objeto de áudio a ser ativado. Para objetos de áudio dinâmicos, esse valor deve ser AudioObjectType_Dynamic. Para objetos de áudio estáticos, especifique um dos valores de canal de áudio estático da enumeração . Especificar AudioObjectType_None produzirá um objeto de áudio que não é espacializado.

[out] audioObject

Recebe um ponteiro para a interface ativada.

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.

Código de retorno Descrição
SPTLAUDCLNT_E_NO_MORE_OBJECTS
O número máximo de objetos de áudio espaciais simultâneos foi excedido. Chame Release em objetos de áudio não utilizados antes de tentar ativar objetos adicionais.
SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE
O canal estático especificado no parâmetro type não foi incluído no campo StaticObjectTypeMask do SpatialAudioObjectRenderStreamForMetadataActivationParams passado para ISpatialAudioClient::ActivateSpatialAudioStream.
SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE
Um objeto de áudio espacial já foi ativado para o canal estático especificado no parâmetro type .
E_POINTER
O ponteiro fornecido é inválido.
E_INVALIDARG
O valor especificado no parâmetro de tipo não é um dos valores definidos pela enumeração AudioObjectType .
SPTLAUDCLNT_E_DESTROYED
O ISpatialAudioClient associado ao fluxo de áudio espacial foi destruído.
AUDCLNT_E_DEVICE_INVALIDATED
O dispositivo de ponto de extremidade de áudio foi desconectado ou o hardware de áudio ou os recursos de hardware associados foram reconfigurados, desabilitados, removidos ou indisponíveis para uso.
SPTLAUDCLNT_E_INTERNAL
Ocorreu um erro interno.
AUDCLNT_E_UNSUPPORTED_FORMAT
A mídia associada ao fluxo de áudio espacial usa um formato sem suporte.

Comentários

Um ISpatialAudioObjectForMetadataCommands dinâmico é aquele que foi ativado definindo o parâmetro de tipo como o método ActivateSpatialAudioObjectForMetadataCommands para AudioObjectType_Dynamic. O cliente tem um limite do número máximo de objetos de áudio espacial dinâmicos que podem ser ativados ao mesmo tempo. Depois que o limite for atingido, a tentativa de ativar objetos de áudio adicionais resultará no retorno de um erro de SPTLAUDCLNT_E_NO_MORE_OBJECTS desse método. Para evitar isso, chame Release em cada ISpatialAudioObjectForMetadataCommands dinâmico depois que ele não estiver mais sendo usado para liberar o recurso para que ele possa ser realocado. Consulte ISpatialAudioObjectBase::IsActive e ISpatialAudioObjectBase::SetEndOfStream para obter mais informações sobre como gerenciar o tempo de vida de objetos de áudio espaciais.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho spatialaudiometadata.h

Confira também

ISpatialAudioObjectForMetadataItems