0

MFC ダイアログには、.avi ファイルのようなアニメーションの再生に使用するコントロールがあります。問題は、再生中の avi を一時停止して再開したいということです。play メソッドを使用すると、特定のフレームから開始し、停止するために停止できます。問題は、.avi の再生が停止するフレーム番号を取得する方法です。

4

2 に答える 2

2

実際のフレーム番号を取得することはできませんが、停止した場所から AVI を再開する方法として、 nFrom引数として -1 を指定する (テスト済みだが文書化されていない) ハックを使用できます。Play()

たとえば、m_aviが a のインスタンスであると仮定しCAnimateCtrlます。

// toggle pause
if (m_avi.IsPlaying())
{
    // if playing, pause
    m_avi.Stop();
}
else
{
    // not playing, resume
    m_avi.Play( -1, -1,-1 );
}

私のシステム(Windows 8.1 64ビットで実行されているUNICODEビルドのVS2012)でテストすると、これは正常に機能します-Play最後に停止したポイントから正確に続行します。

于 2013-10-31T08:24:39.997 に答える
0

再生を再開したい場合は、 nTo=-1 を渡すだけで、クリップの最後まで再生できます。再生を再開したいが、特定のフレームまでしか再生したくない場合は、再生を停止するフレームの番号を取得するためにビデオ エディタにビデオをロードする必要があります。

于 2013-10-31T08:09:10.760 に答える