アプリで動画を再生するために MediaPlayer を使用しています。ビデオのバッファリングには時間がかかり、その間ビデオビューは空白になります。
ユーザーが前の画面にいるときにバッファリングを開始する方法はありますか?
ありがとうクリス
アプリで動画を再生するために MediaPlayer を使用しています。ビデオのバッファリングには時間がかかり、その間ビデオビューは空白になります。
ユーザーが前の画面にいるときにバッファリングを開始する方法はありますか?
ありがとうクリス
MediaPlayer を使用すると、OnPreparedListenerとOnBufferingUpdateListenerを登録できます。
以下のように:
mp.setOnInfoListener(new OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
loadingDialog.setVisibility(View.VISIBLE);
} else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
loadingDialog.setVisibility(View.GONE);
}
return false;
}
});
私は試していませんが、ユーザーが前の画面にいる間に MediaPlayer.prepareAsync() を呼び出してから、ユーザーが右の画面に移動したときに .start() を呼び出すことができます。このプロセス中にメディア プレーヤーが存在できる場所がわからない... ユーザーがビデオを見たいときに動的に更新する 1 つのアクティビティ内でこれをすべて実行する必要がある場合があります。