IMFMediaSource::P ause 方法 (mfidl.h)

暂停媒体源中的所有活动流。

语法

HRESULT Pause();

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_INVALID_STATE_TRANSITION
无效的状态转换。 媒体源必须处于启动状态。
MF_E_SHUTDOWN
已调用媒体源的 Shutdown 方法。

注解

此方法是异步方法。 操作完成后,媒体源将发送 MESourcePaused 事件,每个活动流发送 MEStreamPaused 事件。 如果方法返回失败代码,则不会引发任何事件。

媒体源必须处于启动状态。 如果暂停或停止媒体源,方法将失败。

暂停源时,对 IMFMediaStream::RequestSample 的调用会成功,但流在再次启动源之前不会传递任何样本。 请注意,源的事件队列未使用流事件队列进行序列化,因此,由于多线程问题, 客户端可能会在 MESourcePaused 事件后收到一些示例。 但是,在 发生 MEStreamPaused 事件后,客户端不会从流接收任何样本。

并非每个媒体源都可以暂停。 如果媒体源可以暂停, IMFMediaSource::GetCharacteristics 方法将返回MFMEDIASOURCE_CAN_PAUSE标志。

要求

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

另请参阅

IMFMediaSource

媒体源