ビデオビューでフレームごとに再生したいと思います。私はこれを持っています:
mVideoView.seekTo(mVideoView.getCurrentPosition()+1);
しかし、この後、再生をクリックするまでフレームが表示されません...それは望ましくありません。次のフレームを見たいだけです。
また、前のフレームでも同じことができますか?
前もって感謝します。
ビデオビューでフレームごとに再生したいと思います。私はこれを持っています:
mVideoView.seekTo(mVideoView.getCurrentPosition()+1);
しかし、この後、再生をクリックするまでフレームが表示されません...それは望ましくありません。次のフレームを見たいだけです。
また、前のフレームでも同じことができますか?
前もって感謝します。
一時停止中はシークしません。ただし、VideoView には onSeekComplete コールバックがないため、SurfaceView と MediaPlayer を使用する場合は、シークの直後にいつでも一時停止できます。
public void seek() {
mediaplayer.start();
mediaplayer.seekTo(mediaplayer.getCurrentPosition()+1);
}
public void onSeekComplete(MediaPlayer mp) {
mediaplayer.pause();
}
これは何かを探して表示します。残念ながら、これではフレームごとに再生できないことがわかります。
MediaMetadataRetrieverを使用して必要なフレームを選択し、次に MediaMetadataRetriever.getFrameAtTime(long timeUs) を使用して BitMap として取得できます。MediaPlayer を使用するよりもはるかにうまく機能します。
役に立つことを願っています。