Detectar cuándo la reproducción de vídeo deja de reproducirse

Tengo este código para reproducir un video en un VideoView

 myVideoView = (VideoView) findViewById(R.id.VideoView); myVideoView.setVideoURI(Uri.parse(path)); myVideoView.requestFocus(); myVideoView.start(); 

Cuando el vídeo termina de reproducirse, obtengo el mensaje: "Lo siento, este video no se puede reproducir". Quiero almacenar en caché el momento cuando el vídeo termina de jugar. ¿Cómo puedo hacer esto?

Aquí está mi código:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.video); Bundle extras = getIntent().getExtras(); path = extras.getString("path"); idPlaylist = extras.getString("idPlaylist"); timer = extras.getString("timer"); myVideoView = (VideoView) findViewById(R.id.VideoView); myVideoView.setVideoURI(Uri.parse(path)); myVideoView.requestFocus(); myVideoView.start(); myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { Intent i = new Intent(getBaseContext(), com.PlayerOrange.ViewPlaylist.class); i.putExtra("id", idPlaylist); i.putExtra("timer", timer); startActivity(i); finish(); } }); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { System.out.println("Playing "+myVideoView.isPlaying()); if ((keyCode == KeyEvent.KEYCODE_BACK) && (myVideoView.isPlaying()==true)) { //nothing happens } else { Intent i = new Intent(getBaseContext(), com.PlayerOrange.ViewPlaylist.class); i.putExtra("id", idPlaylist); i.putExtra("timer", timer); startActivity(i); finish(); return true; } return super.onKeyDown(keyCode, event); } 

¿Has probado?

 myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer vmp) { Intent i = new Intent(getBaseContext(), com.PlayerOrange.ViewPlaylist.class); i.putExtra("id", idPlaylist); i.putExtra("timer", timer); startActivity(i); currentActivityName.finish(); } }); 

También asegúrese de que su myVideoView no tenga como estática. En caso afirmativo, quita la estática ..

Más información aquí

Mira la Actividad inicial cuando el video ha terminado de reproducir

Android – Video / Reproductor de música sample

Reproducción de video

Notificación de vídeo OnCompletion en el uso de MediaController y VideView?

Android – Listener (o manejador) para el acabado de vídeo

  • Mostrar y ocultar un botón de reproducción sobre un VideoView en Android
  • Cómo modificar el ancho de videoview programatically
  • VideoView con cookies (o encabezados)
  • Uso de VideoView para streaming o video de descarga progresiva
  • Android: ¿Por qué no puedo dar un onClickListener a un VideoView?
  • Reanudar la reproducción de VideoView desde onResume
  • La vista de video no reproduce el video de youtube
  • Android VideoView inicia muchos videos secuencialmente
  • Reproducción de archivos de vídeo cifrados mediante VideoView
  • Cómo puedo reproducir video desde byte en android
  • VideoView flash negro antes y después de jugar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.