IAudioClient::Start 方法 (audioclient.h)

Start 方法启动音频流。

语法

HRESULT Start();

返回值

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

返回代码 说明
AUDCLNT_E_NOT_INITIALIZED
音频流尚未成功初始化。
AUDCLNT_E_NOT_STOPPED
开始 呼叫时 音频流未停止。
AUDCLNT_E_EVENTHANDLE_NOT_SET
音频流配置为使用事件驱动的缓冲,但调用方尚未调用 IAudioClient::SetEventHandle 来设置流上的事件句柄。
AUDCLNT_E_DEVICE_INVALIDATED
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音频服务未运行。

注解

此方法需要事先初始化 IAudioClient 接口。 在客户端通过成功调用 IAudioClient::Initialize 方法初始化音频流之前,对此方法的所有调用都将失败并出现错误AUDCLNT_E_NOT_INITIALIZED。

Start 是客户端调用以启动音频流的控制方法。 启动流会导致 IAudioClient 对象开始在终结点缓冲区和音频引擎之间流式传输数据。 它还会导致流的音频时钟从其当前位置恢复计数。

在初始化流后首次调用此方法时, IAudioClient 对象的流位置计数器从 0 开始。 否则,时钟将从上次停止流时的位置恢复。 重置流会强制流位置回到 0。

若要避免呈现流出现启动故障,客户端在通过调用呈现接口上的 IAudioRenderClient::ReleaseBuffer 方法,在音频引擎最初加载数据之前,不应调用 Start

有关调用 Start 方法的代码示例,请参阅以下主题:

要求

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

另请参阅

IAudioClient 接口

IAudioClient::Initialize

IAudioRenderClient::GetBuffer

IAudioRenderClient::ReleaseBuffer