Поделиться через


Метод ISpatialAudioObjectRenderStreamForMetadata::ActivateSpatialAudioObjectForMetadataCommands (spatialaudiometadata.h)

Активируйте ISpatialAudioObjectForMetadataCommands для отрисовки .

Синтаксис

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

Параметры

[in] type

Тип активируемого звукового объекта. Для динамических звуковых объектов это значение должно быть AudioObjectType_Dynamic. Для статических звуковых объектов укажите одно из значений статического звукового канала из перечисления . При указании AudioObjectType_None будет получен звуковой объект, который не является пространственным.

[out] audioObject

Получает указатель на активированный интерфейс.

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, помимо прочего, значения, показанные в следующей таблице.

Код возврата Описание
SPTLAUDCLNT_E_NO_MORE_OBJECTS
Превышено максимальное количество одновременных пространственных звуковых объектов. Вызовите Release для неиспользуемых звуковых объектов, прежде чем пытаться активировать дополнительные объекты.
SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE
Статический канал, указанный в параметре type , не был включен в поле StaticObjectTypeMaskобъекта SpatialAudioObjectRenderStreamForMetadataActivationParams , переданного в ISpatialAudioClient::ActivateSpatialAudioStream.
SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE
Пространственный звуковой объект уже активирован для статического канала, указанного в параметре type .
E_POINTER
Предоставленный указатель недопустим.
E_INVALIDARG
Значение, указанное в параметре type , не является одним из значений, определенных перечислением AudioObjectType .
SPTLAUDCLNT_E_DESTROYED
ISpatialAudioClient, связанный с пространственным аудиопотоком, был уничтожен.
AUDCLNT_E_DEVICE_INVALIDATED
Устройство конечной точки аудио отключено, звуковое оборудование или связанные аппаратные ресурсы были перенастроены, отключены, удалены или иным образом недоступны для использования.
SPTLAUDCLNT_E_INTERNAL
Произошла внутренняя ошибка.
AUDCLNT_E_UNSUPPORTED_FORMAT
Носитель, связанный с пространственным аудиопотоком, использует неподдерживаемый формат.

Комментарии

Динамический ISpatialAudioObjectForMetadataCommands активируется путем задания для параметра type метода ActivateSpatialAudioObjectForMetadataCommandsдля AudioObjectType_Dynamic. Клиент имеет ограничение на максимальное количество динамических пространственных звуковых объектов, которые могут быть активированы одновременно. После достижения ограничения попытка активировать дополнительные звуковые объекты приведет к тому, что этот метод вернет ошибку SPTLAUDCLNT_E_NO_MORE_OBJECTS. Чтобы избежать этого, вызовите Release для каждого динамического ISpatialAudioObjectForMetadataCommands после того, как он больше не используется для освобождения ресурса, чтобы его можно было перераспределить. Дополнительные сведения об управлении временем существования пространственных звуковых объектов см. в разделах ISpatialAudioObjectBase::SetEndOfStream::IsActive и ISpatialAudioObjectBase::SetEndOfStream.

Требования

Требование Значение
Целевая платформа Windows
Header spatialaudiometadata.h

См. также раздел

ISpatialAudioObjectForMetadataItems