3

ビデオビューでフレームごとに再生したいと思います。私はこれを持っています:

mVideoView.seekTo(mVideoView.getCurrentPosition()+1);

しかし、この後、再生をクリックするまでフレームが表示されません...それは望ましくありません。次のフレームを見たいだけです。

また、前のフレームでも同じことができますか?

前もって感謝します。

4

2 に答える 2

2

一時停止中はシークしません。ただし、VideoView には onSeekComplete コールバックがないため、SurfaceView と MediaPlayer を使用する場合は、シークの直後にいつでも一時停止できます。

public void seek() {
mediaplayer.start();
mediaplayer.seekTo(mediaplayer.getCurrentPosition()+1);
}

public void onSeekComplete(MediaPlayer mp) {        
mediaplayer.pause();
}

これは何かを探して表示します。残念ながら、これではフレームごとに再生できないことがわかります。

于 2010-12-01T06:12:02.630 に答える
1

MediaMetadataRetrieverを使用して必要なフレームを選択し、次に MediaMetadataRetriever.getFrameAtTime(long timeUs) を使用して BitMap として取得できます。MediaPlayer を使用するよりもはるかにうまく機能します。

役に立つことを願っています。

于 2013-07-23T10:42:19.370 に答える