ISpatialAudioMetadataWriter::WriteNextItem 方法 (spatialaudiometadata.h)
在指定的偏移量处启动新的元数据项。
语法
HRESULT WriteNextItem(
[in] UINT16 frameOffset
);
参数
[in] frameOffset
使用 ActivateSpatialAudioMetadataItems 的 frameCount 参数指定的范围内的项的帧偏移量。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
尚未打开 ISpatialAudioMetadataItems 以使用对 Open 的调用进行写入,或者已关闭对象以使用对 Close 的调用进行写入。 |
|
写入会话中写入的项目数大于传入 ISpatialAudioClient::ActivateSpatialAudioStream的 SpatialAudioObjectRenderStreamForMetadataActivationParam 中的 MaxMetadataItemCount 字段中提供的值。
frameCount 值大于 ActivateSpatialAudioMetadataItems 的 frameCount 参数的值,并且溢出模式设置为SpatialAudioMetadataWriterOverflow_Fail。 |
|
frameOffset 的值不大于同一写入会话中对 WriteNextItem 的上一次调用中提供的值。 |
注解
在调用 WriteNextItem 之前,必须打开 ISpatialAudioMetadataWriter 进行写入,方法是在创建对象后和调用 Close 之后调用 Open。 在通过调用 Open 和 Close 划分的写入会话期间, frameOffset 参数的值必须大于前面调用中的值。
在单个写入会话中,不得使用 WriteNextItem 写入的项数超过传递到 ISpatialAudioClient::ActivateSpatialAudioAudioStream 的 SpatialAudioObjectRenderStreamForMetadataActivationParam 中的 MaxMetadataItemCount 字段中提供的值,否则会发生SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE错误。
如果溢出模式设置为 SpatialAudioMetadataWriterOverflow_Fail,则 frameOffset 参数的值必须小于 ActivateSpatialAudioMetadataItems 的 frameCount 参数的值,否则会发生SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE错误。
调用 WriteNextItem 后,调用 WriteNextItemCommand 以写入项的元数据命令和值数据。
要求
目标平台 | Windows |
标头 | spatialaudiometadata.h |