请教Direct Show 中IMediaSeeking::SetPositions的使用方法?
我在使用SetPositions设置"偏移时间"的时候,
使用条件是:
一:
..SetOneShot( FALSE );
二:
pSeeking->SetPositions( &Start, AM_SEEKING_AbsolutePositioning,
&gDuration, AM_SEEKING_AbsolutePositioning );
参数Start,gDuration相等.
出现了下面的结果:
1.当Start和gDuration的数值小于60秒的时候,SetPositions返回值正确,成功执行.
2.当Start和gDuration的数值大于60秒的时候,SetPositions返回值错误,提示参数错误.
程序具体如下:
hr = pGrabber->SetOneShot( FALSE );
REFERENCE_TIME Start = 0;
REFERENCE_TIME Duration = 0;
hr = pSeeking->SetPositions( &Start, AM_SEEKING_AbsolutePositioning,
&gDuration, AM_SEEKING_AbsolutePositioning );
hr = pControl->Run( );
pEvent->WaitForCompletion( INFINITE, &EventCode );