【发布时间】:2012-09-05 09:59:57
【问题描述】:
我的代码如下:
Uri uri = Uri.parse(URL);
video.setVideoURI(uri);
video.start();
我使用 VideoView 播放流式视频。
该视频是一个 VideoView。
我想在 MediaPlayer 中获得像 setOnBufferingUpdateListener 这样的缓冲百分比。
MediaPlayer.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
//buffering is percent
}
});
我该怎么做?
【问题讨论】:
-
VideoView不提供对其包装的MediaPlayer的访问或设置用于缓冲进度的回调的方法,尽管它在内部使用两者。在我看来,您可以通过反复调用getBufferPercentage()来轮询值(不理想),或者使用反射来获取MediaPlayer实例并注册自己的侦听器(也不理想)。 -
我添加了一个线程,每秒调用一次getBufferPercentage(),但是返回的百分比真的很奇怪。它不会继续增加,有时会减少并且永远不会超过几个单位%。相同的线程在其他 exoplayer 上工作,所以调用是正确的。
标签: android media-player android-videoview