IMFMediaSource::P ause 方法 (mfidl.h)
暂停媒体源中的所有活动流。
语法
HRESULT Pause();
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
无效的状态转换。 媒体源必须处于启动状态。 |
|
已调用媒体源的 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 |