正在暂停
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 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()
}