2013-05-16 2 views
1

я получил этот простой видеопотока плеер:поток Android проверка видео закончилась

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, потому что он говорит, когда RTSP YouTube закончился ...

ответ

1

Вы можете попробовать использовать следующие слушатели VideoView:

public void setOnCompletionListener (MediaPlayer.OnCompletionListener l) 

Зарегистрировать обратный вызов для вызова, когда во время воспроизведения достигнут конец медиафайла .

public void setOnErrorListener (MediaPlayer.OnErrorListener l) 

Регистрация обратного вызова, который будет вызван при возникновении ошибки во время воспроизведения или настройки. Если ни один прослушиватель не указан, или если слушатель вернул false, VideoView сообщит пользователю о любых ошибках.

More Information

+0

я уже сделал seOnErrorListener, но все тот же, приложение замораживания и сообщение об ошибке или toeast я сделал в ... просто сказал, что медиаплеер отключен – David

+0

как вы установив 'MediaPlayer'? –

+0

все в опубликованном коде – David