用directshow抽帧遇到问题
m_pMediaPlayer->Pause();
for(LONGLONG llFrameNum=0; llFrameNum<m_iTotalTime; llFrameNum=llFrameNum+2)
{
cout<<"llFrameNum: "<<llFrameNum<<endl;
rtNow = llFrameNum * m_llavgtimeperframe;
hRes = m_pSeeking->SetPositions(&rtNow, AM_SEEKING_AbsolutePositioning,
NULL, AM_SEEKING_NoPositioning);
hRes = m_pMedia->GetState(100, &fState) ;//刷新
}
其中,m_iTotalTime和m_llavgtimeperframe表示总的帧数和每一帧平均时间;
问题是:
1. 这样做会显示的视频表现出很卡!!SetPositions处;
2. 如何GetState没有的话,视频出不来,感觉起到了刷新的作用。
[解决办法]