ISpatialAudioObjectBase::SetEndOfStream 方法 (spatialaudioclient.h)

指示系统已为 ISpatialAudioObject 提交了音频数据的最后一个块,以便可以停用该对象并重复使用其资源。

语法

HRESULT SetEndOfStream(
  [in] UINT32 frameCount
);

参数

[in] frameCount

音频缓冲区中应包含在最终处理阶段的音频帧数。 此数字可能小于或等于 iSpatialAudioObjectRenderStream::BeginUpdatingAudioObjectsframeCountPerBuffer 参数中返回的值。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
SPTLAUDCLNT_E_OUT_OF_ORDER

在调用 SetEndOfStream 之前未调用 ISpatialAudioObjectRenderStream::BeginUpdatingAudioObjects

SPTLAUDCLNT_E_RESOURCES_INVALIDATED

在以前的音频处理阶段,已显式或隐式调用 SetEndOfStream。 如果未在音频处理中调用 GetBuffer,则系统将隐式调用 SetEndOfStream,并在调用 ISpatialAudioObjectRenderStream::BeginUpdatingAudioObjectsISpatialAudioObjects) 之间传递 (。

注解

调用 SetEndOfStream 后调用 Release,以释放音频对象资源供将来使用。

要求

要求
目标平台 Windows
标头 spatialaudioclient.h

另请参阅

ISpatialAudioObject

ISpatialAudioObjectBase