我想只允许20%的视频进行缓冲。但由于某种原因,我的onBufferingUpdate()没有被调用。
有什么原因吗? 我想在VideoView上播放.m3u8。视频播放但是onBufferingUpdate()没有被调用。
这是我的以下代码
String VideoURL = "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview_main);
videoview = (VideoView) findViewById(R.id.VideoView);
pDialog = new ProgressDialog(VideoViewActivity.this);
pDialog.setTitle("Android Video Streaming POC");
pDialog.setMessage("Buffering...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
try {
// Start the MediaController
MediaController mediacontroller = new MediaController(
VideoViewActivity.this);
mediacontroller.setAnchorView(videoview);
// Get the URL from String VideoURL
Uri video = Uri.parse(VideoURL);
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(video);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
videoview.requestFocus();
videoview.setOnPreparedListener(VideoViewActivity.this);
}
@Override
public void onPrepared(MediaPlayer mp) {
pDialog.dismiss();
mp.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
// show updated information about the buffering progress
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
Log.e("ERRORRRRRRRRRR", "percent: " + percent);
}
});
videoview.start();
}
建议表示赞赏。
答案 0 :(得分:0)
尝试在MediaPlayer上调用start()后设置监听器。
答案 1 :(得分:0)
我认为这是因为它是一个HLS视频,您是否尝试过渐进式HTTP下载? Test mp4 我尝试过这个,我可以调用它,我也在.setVideoURI()之后调用.start()而不是onPrepared。