Android检查视频流结束
我有一个简单的视频流播放器:Android检查视频流结束,android,android-videoview,Android,Android Videoview,我有一个简单的视频流播放器: if (play) { myVideoView.stopPlayback(); myVideoView.clearFocus(); myVideoView = null; button5.setText("Start"); play = false;
if (play) {
myVideoView.stopPlayback();
myVideoView.clearFocus();
myVideoView = null;
button5.setText("Start");
play = false;
} else {
// dialog = ProgressDialog.show(Main.this, "Feldolgozás",
// "A videó töltődik");
progressBar = new ProgressDialog(v.getContext());
progressBar.setCancelable(true);
progressBar.setMessage("A video töltődik ...");
progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressBar.setProgress(0);
progressBar.setMax(100);
progressBar.show();
myVideoView = (VideoView) findViewById(R.id.myvideoview);
myVideoView.setVideoURI(Uri.parse(SrcPath));
RelativeLayout.LayoutParams videoviewlp = new RelativeLayout.LayoutParams(
500, 480);
videoviewlp.addRule(RelativeLayout.CENTER_HORIZONTAL,
RelativeLayout.TRUE);
videoviewlp.addRule(RelativeLayout.CENTER_VERTICAL,
RelativeLayout.TRUE);
myVideoView.setLayoutParams(videoviewlp);
myVideoView.invalidate();
myVideoView.requestFocus();
myVideoView.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
// mp.setOnCompletionListener(this);
mp.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
public void onBufferingUpdate(
MediaPlayer mPlayer, int percent) {
progressBar.setProgress(percent);
if (percent == 100) {
//dialog.dismiss();
progressBar.dismiss();
// Toast.makeText(getApplicationContext(),
// "100%", Toast.LENGTH_LONG).show();
}
}
});
mp.start();
// myVideoView.start();
}
});
play = true;
button5.setText("Stop");
}
}
如何检查视频流是否已结束或丢失?
如果丢失,按钮应更改为启动和停止videoview。。。
为你的ASWER准备坦克
更新:我认为问题在于vlc rtsp流,因为它说当youtube rtsp结束时…您可以尝试使用以下
视频视图的侦听器:
public void setOnCompletionListener (MediaPlayer.OnCompletionListener l)
注册一个回调,在媒体文件结束时调用
在播放过程中已到达
注册在播放过程中发生错误时要调用的回调
或设置。如果未指定侦听器,或者侦听器返回
错误,VideoView将通知用户任何错误
您可以尝试使用VideoView
的以下侦听器:
public void setOnCompletionListener (MediaPlayer.OnCompletionListener l)
注册一个回调,在媒体文件结束时调用
在播放过程中已到达
注册在播放过程中发生错误时要调用的回调
或设置。如果未指定侦听器,或者侦听器返回
错误,VideoView将通知用户任何错误
我制作了一个seOnErrorListener,但仍然是一样的,应用程序冻结,没有错误消息,或者我在。。。刚才说mediaplayer断开了连接你是如何设置mediaplayer的?你所说的“应用冻结”是什么意思?UI被阻止了吗?Logcat是否显示任何错误或消息?在freez中,我的意思是,如果按下屏幕上的任何按钮(开始/停止),它仍然会被按下并释放应用程序。日志中没有任何内容:我制作了一个seOnErrorListener,但仍然是一样的,应用程序冻结,没有错误消息或我在中制作的toeast。。。刚才说mediaplayer断开了连接你是如何设置mediaplayer的?你所说的“应用冻结”是什么意思?UI被阻止了吗?Logcat是否显示任何错误或消息?在freez中,我的意思是,如果按下屏幕上的任何按钮(开始/停止),它仍然会被按下并释放应用程序。日志中没有任何内容:S