は私がsetVideoPathを(呼び出すためにonCompletionListnerを使用してループ上のビデオ再生を行うために、VideoViewを使用してアプリケーションを持っている)、再び、次のように:アンドロイドVideoView繰り返し
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer arg0) {
mVideoView.start();
}
});
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
//I have a log statment here, so I can see that it is making it this far.
mp.reset(); // <--- I added this recently to try to fix the problem
mVideoView.setVideoPath(file.getAbsolutePath());
}
});
このセットアップは、上うまく機能私が今までに遭遇したすべてのデバイス、私はそれを繰り返すことで何の問題もなかった。
しかし、私がテストしているMotorola Xoomは、最近ICSにアップグレードされました。これがICS上にあるので、これはしばらくの間動いてビデオをループします。しかし、最終的には(カウンターといくつかのログを追加しました。停止する前に何回も正常にループするパターンはありません)、ループをやめ、映画の最初のフレームのフリーズフレームに座ります。
誰もがこれが正しくループしない原因を知っていますか?または、誰かが、ICSの下で動作するVideoViewを適切にループさせる別の方法を知っていますか?
コードにmpとは何ですか? –
@jeraldov 'mp'は、onCompletion()メソッドのパラメータとして渡されるMediaPlayerオブジェクトです。 – FoamyGuy