CSourceSeeking.ChangeStart 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

ChangeStart 开始位置更改时,将调用 方法。

语法

virtual HRESULT ChangeStart() = 0;

参数

此方法没有任何参数。

返回值

返回 HRESULT 值。

备注

如果开始位置发生更改, CSourceSeeking::SetPositions 方法将调用此方法。 此方法是纯虚拟的;派生类必须实现它。 执行查找操作后,时间戳应从零开始重启。 媒体时间应反映新的开始时间。 以下示例演示了可能的实现:

HRESULT CMyStream::ChangeStart( )
{
    m_rtSampleTime = 0;          // Reset the time stamps.
    m_rtMediaTime = m_rtStart;   // Reset the media times.
    UpdateFromSeek();
    return S_OK;
}

要求

要求
标头
Ctlutil.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CSourceSeeking 类