Android 未调用VideoView onBufferingUpdate()?
我想只允许20%的视频被缓冲。但是由于某些原因,我的onBufferingUpdate()没有被调用 有什么原因吗? 我正在尝试在VideoView上播放.m3u8。已播放视频,但未调用onBufferingUpdate() 这是我下面的代码Android 未调用VideoView onBufferingUpdate()?,android,buffering,android-videoview,Android,Buffering,Android Videoview,我想只允许20%的视频被缓冲。但是由于某些原因,我的onBufferingUpdate()没有被调用 有什么原因吗? 我正在尝试在VideoView上播放.m3u8。已播放视频,但未调用onBufferingUpdate() 这是我下面的代码 String VideoURL = "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8" @Override protected void onCreate
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();
}
非常感谢您的建议。在MediaPlayer上调用start()后尝试设置侦听器。我认为这是因为它是HLS视频,您尝试过渐进式HTTP下载吗?
我试过使用这个,我可以看到它被调用,我也在.setVideoURI()之后调用了.start(),而不是在onPrepared中。您使用的是什么Android版本?