正在暫停
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
所有篩選狀態變更都必須保留篩選鎖定。 在 Pause 方法中,建立篩選所需的任何資源:
HRESULT CMyFilter::Pause()
{
CAutoLock lock_it(m_pLock);
/* Create filter resources. */
return CBaseFilter::Pause();
}
CBaseFilter::P ause方法會在篩選 (State_Paused) 上設定正確的狀態,並在篩選中的每個連接釘選上呼叫CBasePin::Active方法。 Active方法會通知釘選篩選已變成作用中。 如果針腳建立資源,請覆寫 Active 方法,如下所示:
HRESULT CMyInputPin::Active()
{
// You do not need to hold the filter lock here. It is already held in Pause.
/* Create pin resources. */
return CBaseInputPin::Active()
}