Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android检查视频流结束_Android_Android Videoview - Fatal编程技术网

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