Android Video View no reproduce archivos MP4 en algunos dispositivos

En mi aplicación necesito reproducir videos de sdcard. Ahora funciona bien en Galaxy S, Galaxy Tab2, pero en alguna pestaña china Como "Giada" No funciona en absoluto.

Tengo 4 actividades diferentes para reproducir videos como. La primera actividad reproduce un video de menú que tiene enlace de navegación a otra actividad. Problemas que estoy enfrentando.

  1. El primer video se reproduce correctamente pero el bucle falló y la aplicación se cerró.
  2. Si navego a otra actividad para reproducir otro video, se dice "No se puede reproducir vídeo" y se cierra Alguna vez reproduce el mismo video, pero no la aplicación completa y cerrada entre ellas.

Extensión de vídeo: MP4 Resolución: 1024×600 Jugando desde: SDCard.

Especificación de la pestaña de destino.

Resolución: 1024×600 Android: 4.1

Probado con la vista de vídeo y SurfaceView.

Ayudarme a salir de cualquier ayuda será lamentado.

La respuesta a esta pregunta nunca será coherente en todos los dispositivos o en todos los videos.

Si un determinado archivo de vídeo se reproducirá en un jugador determinado depende de tres cosas:

  • Formato del contenedor de vídeo (tipo de archivo).
  • Los códecs los flujos de vídeo (y potencialmente audio) están codificados con
  • El soporte de tu reproductor para esa combinación de formato de contenedor y codec

El codec y el reproductor / dispositivo de apoyo para él es casi seguramente la causa de los resultados inconsistentes que has visto. (Un códec, si no sabía, es básicamente una fórmula matemática repetible que le dice a su sistema cómo convertir bits y bytes empaquetados en un archivo en imágenes en movimiento (y de nuevo, para el caso)

Hay una gran variedad de codecs de video en los archivos de video flotando por ahí. Soporte para estos códecs es tremendamente inconsistente sólo debido a la historia de la distribución de vídeo. Muchos dispositivos no admiten secuencias codificadas con ciertos códecs. Hay una variedad de razones para esto, pero los más comunes son la oscuridad o los costos de licencia.

Por ejemplo, hasta hace unos años, casi todo estaba codificado en un contenedor .FLV con un códec On2 VP6 / VP7 / VP8. Esto está causando dolores de cabeza hoy porque mientras que On2 poseyó estos codecs, guardaron una rienda apretada en las licencias. Eso no se relajó hasta que .FLV ya había comenzado a perder relevancia, y por lo tanto no hay un montón de software (legítimo) por ahí que puede trabajar con contenido codificado On2.

Lo que todo esto significa es que no hay bala de plata. Todo el vídeo nunca se ejecutará en todos los dispositivos, al menos no sin la ayuda de los reproductores de vídeo que instalan y utilizan sus propios códecs para decodificar los flujos.

Huelga decir que esto no incluye las bibliotecas que se proporcionan a usted ya sus usuarios finales por las bibliotecas de Android instaladas de fábrica.

¿Entonces, Qué haces? Bueno, a falta de producir un reproductor de video que lleve sus propios códecs, puede solucionar el problema con un enfoque de dos pasos:

  1. Destine dispositivos específicos en los que desea que funcione su aplicación
  2. Codifique su contenido para utilizar el uso de un códec de vídeo que funciona en todos los dispositivos que desee orientar. Es posible que deba producir dos copias de su vídeo si descubre que no hay ningún códec que funcione en todos los dispositivos que va a soportar.

Hoy en día, el soporte más amplio está disponible con un contenedor MP4 y una secuencia de vídeo codificada con el códec H.264 (AVC). Como ya he dicho, no hay bala de plata, y el apoyo H.264 no es universal por cualquier medio, pero este formato será jugable más usuarios potenciales que cualquier otra opción única que podría hacer, debido a su popularidad y amplio apoyo en la moderna Escritorio y entornos móviles.

Algunas herramientas que pueden ser útiles:

  • MediaInfo le permitirá mirar dentro de contenedores de vídeo con sabor MPEG para ver qué codecs están en uso. Esto será útil para determinar qué dispositivos tienen problemas con los códecs.
  • FFmpeg es una aplicación de codificación que puede convertir su contenido a MP4 / H.264

¡Buena suerte!

  • Cómo hacer que una videoview NO se inicie automáticamente después de preparado
  • Android VideoView error (1,16) y muestra la pantalla en negro
  • Reproducción de un video descargado Error: 1, -2147483648
  • VideoView getDrawingCache devuelve negro
  • Android :: VideoView dentro de un ScrollView
  • Controles de reproducción de vídeo de Android Mostrar "Reproducir" Inicialmente en lugar de "Pausa" Aunque el archivo ya está jugando
  • El video no se muestra en VideoView, pero puedo escuchar su sonido
  • Cómo obtener el porcentaje de búfer de VideoView en Android
  • Error de VideoView getCurrentPosition () en Acer Iconia A200
  • El video no se detiene en el fragmento ViewPager
  • Android 4.1 - RTSP con VideoView y MediaController
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.