Cómo separar / liberar la vista de superficie de android mediaplayer

Tengo una instancia mediaplayer ejecutándose en un servicio de fondo. En mi actividad principal tengo una vista de superficie.

Cuando se lanza la actividad y se crea la vista de superficie, me enlazo al servicio y establezco la superficie de visualización del reproductor multimedia en la vista de superficie de mi actividad principal. Hago esto con mPlayer.setSurface(sv.getHolder().getSurface());

El video se muestra y todo funciona bien hasta ahora. Cuando se destruye mi vista superficial, en la devolución de llamada surfaceDestroyed() intento separar la vista superficial del mediaplayer llamando a mPlayer.setSurface(null); . El problema es que cuando hago esto obtengo un error del mediaplayer (código de error 1).

Así que mi pregunta es esta, después de haber configurado un objeto MediaPlayer y establecer la superficie con mPlayer.setSurface(sv.getHolder().getSurface()); ¿Hay una manera de liberar o separar esa vista de superficie sin detener o reinicializar el objeto mediaplayer?

Gracias por adelantado.

Puede evitar la pausa de reproducción cuando el usuario navega lejos. Esto le ayudará a continuar la reproducción. Pero hay otro problema: cuando su actividad / fragmento separado de la ventana SurfaceView se destruyó. Lo que significa que tienes que reinicializar el reproductor multimedia con la instancia recreada de SurfaceView cuando el usuario vuelve a su aplicación.

  • Modo Doze y servicio de primer plano
  • SDK de Android: Reproductor multimedia: carga la secuencia de vídeo desde url HTTP
  • MediaPlayer de Android setSurface mientras está en estado de pausa
  • Cómo obtener la tasa de bits, tasa de muestreo y no. De canales de un archivo de audio en android
  • Añadir objeto con MediaPlayer obtener OnCompletionListener
  • Cómo jugar radio en línea url de streaming en Android. Cómo jugar .pls radio streaming url en android
  • ¿Hay una manera de utilizar ExoPlayer para recrear ThumbnailUtils.extractThumbnail
  • MediaPlayer No se detiene cuando se recibe una llamada telefónica
  • ExoPlayer de Android stream mp3 a través de HTTP
  • ¿Cómo enlazar mis archivos de Media Player?
  • Reproductor de vídeo flotante (como el reproductor de youtube) en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.