正在暂停

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