IAudioOutputEndpointRT::ReleaseOutputDataPointer 方法 (audioengineendpoint.h)

ReleaseOutputDataPointer 方法释放指向输出缓冲区的指针。

语法

void ReleaseOutputDataPointer(
  [in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);

参数

[in] pConnectionProperty

指向 APO_CONNECTION_PROPERTY 结构的指针。 不得更改 结构中的值。 调用方按如下所示设置成员:

  • pBuffer 设置为指向 IAudioOutputEndpointRT::GetOutputDataPointer 方法返回的输出数据缓冲区的指针。
  • u32ValidFrameCount 设置为音频引擎生成的实际帧数。 该值可能与 GetOutputDataPointer 方法的 u32FrameCount 参数中传递的帧计数不同。
  • 如果 pBuffer 成员指向的输出缓冲区包含有效数据,则 u32BufferFlags 设置为 BUFFER_VALID 如果输出缓冲区仅包含无提示数据,则 u32BufferFlags 设置为 BUFFER_SILENT。 缓冲区中的数据实际上不需要静音,但在 pBuffer 成员中指定的缓冲区必须能够包含 u32ValidFrameCount 成员中包含的所有静音帧。 因此,如果指定 了BUFFER_SILENT ,则终结点应在输出缓冲区中写入静音。

返回值

备注

ReleaseOutputDataPointer 通知终结点音频引擎已完成在输出缓冲区中写入数据的任务,并且不再需要数据指针。 此方法还中继信息,例如与输出缓冲区中的音频样本对应的时间、音频引擎生成的帧数,以及缓冲区是否充满有效数据或静音数据。 根据此信息,表示循环缓冲区并附加到音频引擎输出的终结点可以提升其在缓冲区中的写入位置。 GetOutputDataPointer 方法的 u32FrameCount 参数中的值零指示音频引擎未在输出缓冲区中写入任何有效数据。 u32FrameCount 参数值必须小于或等于 GetOutputDataPointer 中指定的帧计数。 终结点不得假定 实际生成了 GetOutputDataPointer 请求的所有数据。

可以从实时处理线程调用此方法。 此方法的实现不得阻止、访问分页内存或调用任何阻塞系统例程。

远程桌面服务 AudioEndpoint API 适用于远程桌面方案;它不适用于客户端应用程序。

要求

要求
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
目标平台 Windows
标头 audioengineendpoint.h

另请参阅

IAudioOutputEndpointRT