El usuario se toca rápidamente en MediaController. El error sólo ocurre en Nexus 4.

En mi actividad tengo un VideoView que debe mostrar un MediaController en el tacto. Si el usuario toca rápidamente en el Controlador mientras VideoView no está siguiendo, después de que el usuario presione el botón Atrás, entonces mi aplicación se quedará atascada.

setContentView(R.layout.activity_play_video_fullscreen); videoView = (VideoView) findViewById(R.id.video_view); urlString = getIntent().getStringExtra(EXTRA_URL); videoView.setVideoURI(Uri.parse(urlString)); videoView.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { // video ready to play - hide progress bar ProgressBar pb = (ProgressBar)findViewById(R.id.progress_bar); pb.setVisibility(ProgressBar.INVISIBLE); } }); videoView.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // video finished - terminate this activity AxUtils.axLog(AxUtils.eDbgLogError, AxUtils.eDbgLogGroupDialer, String.format("PlayVideoFullsreenActivity.videoView.onCompletion(): Fullscreen video playback completed.\n")); finish(); } }); // install our own error handler videoView.setOnErrorListener(new OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { AxUtils.axLog(AxUtils.eDbgLogError, AxUtils.eDbgLogGroupDialer, String.format("PlayVideoFullsreenActivity.videoView.onError(): Playback failed. what=%d(%s) extra=%d(%s)\n", what, what_toString(what), extra, extra_toString(extra))); String reason; if (what == MediaPlayer.MEDIA_ERROR_SERVER_DIED) { reason = "Server connection lost."; } else { reason = extra_toString(extra); } String message = String.format("Playback Failed. %s", reason); Toast.makeText(PlayVideoFullscreenActivity.this.getApplicationContext(), message, Toast.LENGTH_SHORT).show(); finish(); return true; } }); // add playback controls mediaController = new MediaController(this); mediaController.setAnchorView(videoView.getRootView()); videoView.setMediaController(mediaController); 

One Solution collect form web for “El usuario se toca rápidamente en MediaController. El error sólo ocurre en Nexus 4.”

En las listas preparadas, deshabilite y active los controladores de medios. Debe resolver su problema.

Buena suerte.

  • ¿Cómo utilizar un Seekbar en android como un seekBar, así como un progressBar simultáneamente?
  • El botón de retroceso de Android no funciona mientras se reproduce vídeo en VideoView
  • Extensión de MediaController para android
  • (Contexto, Token) en la instancia de MediaController
  • Android: Cómo llamar a MediaController para avanzar y retroceder rápidamente usando KeyEvents
  • ¿Cómo poner el botón del controlador de medios en la barra de notificación?
  • Posicionamiento de MediaController: vincular a VideoView
  • MediaController siempre se muestra en Android
  • Android: ¿Cómo usar mediaController en la clase de servicio?
  • Reproductor multimedia con YouTube?
  • Posicionamiento de MediaController
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.