Share via


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

暫停媒體來源中的所有作用中資料流程。

Syntax

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
程式庫 Mfuuid.lib

另請參閱

IMFMediaSource

媒體來源