1

私はこの単純なビデオ ストリーム プレーヤーを持っています:

    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");



                }
        }

ビデオ ストリームが終了したか失われたかを確認するにはどうすればよいですか? ボタンを紛失した場合は、ビデオビューの開始と停止に変更する必要があります...あなたの答えのためのタンク!

更新:問題は vlc rtsp ストリームにあると思います

4

1 に答える 1

1

の次のリスナーを使用してみてくださいVideoView

public void setOnCompletionListener (MediaPlayer.OnCompletionListener l)

再生中にメディア ファイルの最後に達したときに呼び出されるコールバックを登録します。

public void setOnErrorListener (MediaPlayer.OnErrorListener l)

再生中やセットアップ中にエラーが発生したときに呼び出すコールバックを登録します。リスナーが指定されていない場合、またはリスナーが false を返した場合、VideoView はユーザーにエラーを通知します。

詳しくは

于 2013-05-16T15:25:18.287 に答える