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?
- VideoView: Evitar el flash negro de pantalla completa
- Problema de parpadeo de VideoView
- Llamar a MediaPlayer.PrepareAsync de VideoView
- ¿Cómo ejecutar varios videos con diferentes VideoViews en una actividad en android 2.2?
- Cómo crear círculo o videoView redondo en android?
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); }
- Cómo detectar si VideoView está reproduciendo video o Buffering?
- ¿Por qué mi aplicación Android dice "No se puede reproducir el vídeo" después de la reproducción?
- Reproducción de vídeo desde el estado de pausa en VideoView
- Tamaño de la memoria intermedia de Android VideoView
- No se pudo abrir el archivo en el lado del cliente, intentando el lado del servidor Error en Android
- VideoView en bucle de videos Replenish
- Android carga la animación antes de iniciar VideoView
- Reproducir vídeo en parte de la pantalla
¿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
- ¿Cuándo debo llamar a close () en SQLiteOpenHelper utilizado por ContentProvider
- ¿Puedo utilizar Visual Studio para crear aplicaciones de Android en HTML5?