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


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

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

Синтаксис

HRESULT ActivateSpatialAudioObjectForMetadataItems(
  [in]  AudioObjectType                     type,
  [out] ISpatialAudioObjectForMetadataItems **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
Носитель, связанный с пространственным аудиопотоком, использует неподдерживаемый формат.

Комментарии

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

Требования

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

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

ISpatialAudioObjectForMetadataItems