IAudioCaptureClient::GetNextPacketSize 方法 (audioclient.h)

GetNextPacketSize 方法检索捕获终结点缓冲区中下一个数据包中的帧数。

语法

HRESULT GetNextPacketSize(
  [out] UINT32 *pNumFramesInNextPacket
);

参数

[out] pNumFramesInNextPacket

指向 UINT32 变量的指针,该方法将帧计数写入 (下一捕获数据包) 音频帧数。

返回值

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

返回代码 描述
AUDCLNT_E_DEVICE_INVALIDATED
音频终结点设备已被取消插拔,或者音频硬件或关联的硬件资源已重新配置、禁用、删除,否则无法使用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音频服务未运行。
E_POINTER
参数 pNumFramesInNextPacketNULL

注解

仅对共享模式流使用此方法。 它不适用于独占模式流。

在调用 IAudioCaptureClient::GetBuffer 方法来检索下一个数据包之前,客户端可以调用 GetNextPacketSize 来检索下一数据包中的音频帧数。 GetNextPacketSize 报告的计数与 GetBuffer 调用中检索到的计数匹配, (通过 pNumFramesToRead 输出参数) 之后的 GetNextPacketSize 调用。

数据包始终包含一个整数的音频帧。

GetNextPacketSize 必须与 GetBufferIAudioCaptureClient::ReleaseBuffer 方法调用在同一线程中调用,以便获取和释放捕获终结点缓冲区中的数据包。

有关使用 GetNextPacketSize 方法的代码示例,请参阅 捕获流

要求

   
最低受支持的客户端 Windows Vista [桌面应用|UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用|UWP 应用]
目标平台 Windows
标头 audioclient.h

另请参阅

IAudioCaptureClient 接口

IAudioCaptureClient::GetBuffer

IAudioCaptureClient::ReleaseBuffer

IAudioClient::GetCurrentPadding