Android no admite muchos formatos de archivos multimedia (archivos como .mkv) de forma predeterminada. Pero jugadores como MXPlayer y MoboPlayer te permiten jugar esos archivos. ¿Cómo funcionan estas aplicaciones? ¿Hay tutoriales de programación o artículos que explican cómo se hace?¿Cómo juegan las aplicaciones de Media Player de Android, como MXPlayer y MoboPlayer, formatos de archivo no compatibles como MKV?
Respuesta
Android no es compatible con todos los formatos de medios de forma predeterminada. Por lo tanto, para admitir un formato no compatible, las aplicaciones como MoboPlayer realizan tareas estándar de reproductores multimedia utilizando una combinación de Java y código nativo a través de JNI.
Para comprender más, veamos qué hace un reproductor de medios para reproducir un archivo multimedia y cómo estos son ejecutados por MoboPlayer, como las aplicaciones en Android.
Typical tasks of a Media Player
un jugador necesita para llevar a cabo las tareas siguientes (a) Demux el formato de archivo y extraer el vídeo/audio (b) decodificar el vídeo y el audio (c) Visualizar el vídeo y reproducir el audio. Consideremos cómo se pueden manejar estas tres áreas en el caso de MoboPlayer como jugador.
File format Demux
Android no es compatible con todos los contenedores de formato de archivo por defecto. Por ejemplo, ASF (formato de archivo de archivos WMV) no es compatible. Por lo tanto, un jugador necesita tener su propio demuxer para hacer el trabajo. libavformat (utilizado por FFMPEG) es una biblioteca líder de código abierto demux.
Video/Audio decode
libavcodec (utilizado por FFMPEG) es una biblioteca decodificador de fuente abierta que conduce que decodifica corriente demuxed y produce tramas de salida en bruto sin comprimir. Por lo tanto, es utilizado a menudo por jugadores como MoboPlayer.
Video display
Hay dos opciones para visualizar un video. Los jugadores usan búferes SurfaceView
o búferes acelerados OpenGL. Android proporciona un elenco de objeto Surface java (abstracción del objeto flinger de superficie subyacente) a un objeto nativo interno llamado NativeWindow
, que luego se puede acceder mediante el código nativo.
ICS (Android 4.0) en adelante, Android proporciona acceso a los búferes acelerados OpenGL (SurfaceTexure
y TextureView
) también. Estos se pueden usar para mostrar el video también.
Audio playout
Los jugadores pueden interactuar directamente con el objeto AudioTrack
proporcionada a nivel de Java para reproducir las muestras de audio decodificadas.
OakBytes tiene razón. Estos jugadores usan analizadores de programas/decodificadores de terceros, ya sean patentados o FFMPEG. Algunos jugadores también usan OpenGL para su visualización. La mayoría de ellos usa SuraceView y su contraparte nativa NativeWindow para mostrar video decodificado. Esto funciona sin el marco nativo y se sienta en paralelo a él. Por lo tanto, moboplayer también proporciona una opción para usar decodificadores de software o hardware. – peasea
- 1. Media Player Looping: Android
- 2. Biblioteca Android Media Player
- 3. Android media player seekbar
- 4. ¿Cuáles son los formatos de archivo compatibles con android video player en android?
- 5. Android Media Player Threading
- 6. Formatos de archivo compatibles con UIWebView
- 7. Excepción: "formatos de URI no son compatibles"
- 8. mediaelement.js formatos compatibles
- 9. ¿Funciona J2ME Media Player en Nokia E65?
- 10. Media Player androide botón Play/Pause
- 11. TinyMCE Moxie Player Media Splash Image?
- 12. ¿Qué formatos de audio son compatibles con el navegador de Android?
- 13. ¿Existe una API de JavaScript documentada para Windows Media Player?
- 14. Error de Android Media Player (1, -4) mientras reproduzco un audio de la carpeta Assets
- 15. ¿Qué resoluciones de aplicaciones de Android son compatibles?
- 16. No se puede cargar formatos ClassDiagram.cd URI no son compatibles
- 17. ¿Cómo implemento las aplicaciones en ejecución como modo de administrador?
- 18. Cómo desarrollar aplicaciones de reconocimiento de voz como hablar tom
- 19. Tecnología para aplicaciones como teamviewer en android
- 20. Cómo interactuar con Windows Media Player en C#
- 21. Node.js como contenedor de aplicaciones
- 22. Pygame, sonidos no juegan
- 23. Formatos de archivo de bordado?
- 24. ¿Debo usar XML o JSON como formato de datos en las aplicaciones de Android?
- 25. ¿Cómo funcionan las aplicaciones de bloqueo de aplicaciones de Android?
- 26. ¿Qué formatos de imagen son compatibles con CANVAS en html5?
- 27. ¿Por qué las propiedades automáticas de C# no son compatibles con valores predeterminados como VB 2010?
- 28. Eclipse: "Ejecutar como" no muestra los elementos de la lista (como "Ejecutar como aplicación de Android")
- 29. Las consultas basadas en cadenas como [executeQuery] actualmente no son compatibles con esta implementación de GORM
- 30. Media Player stream url, luego jugar siguiente url
mkv es solo un contenedor. puede usar muchos códecs de video/audio diferentes dentro de ... – Goddchen