我对Android中的MediaController
和VideoView
API感到困惑。
我正在使用它通过HTTP流式传输视频,效果很好。唯一的问题是它不时停止缓冲。我现在希望在视频开始缓冲以显示进度指示器时收到通知。
我了解到我需要从public abstract void onBufferingUpdate (MediaPlayer mp, int percent)
实施android.media.MediaPlayer.OnBufferingUpdateListener
,我的问题只是我必须在哪里实施?我遵循了另一个SO问题的建议并实施了:
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
Log.d(Constants.LOG, "onPrepared called");
mp.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
//do something
Log.d(Constants.LOG, "Buffering update: " + percent + "%");
}
});
}
但是它不起作用......我是否必须继承VideoView
并在那里实现它?