Sumerjámonos en Exo Player (Parte I) | por Prateek Batra

Contenidos

¿Qué es Exo Player?

ExoPlayer es un reproductor multimedia a nivel de aplicación para Android. Es una alternativa al MediaPlayer original de Android para reproducir audio y video tanto localmente como a través de Internet, y es compatible con muchos Streaming adaptativo y progresivo y apoyo para subtitular, soporte de audio múltiple …EtcSoporte completo de medios de ExoPlayer

Un poco de historia básica y descripción general (de vuelta a donde comenzó todo)

Antes de que existiera Exo-Player, existía un marco multimedia de Android que podía usarse para extraer audio o video de archivos multimedia almacenados en los recursos de su aplicación (recursos sin procesar), de archivos independientes en el sistema de archivos o de un flujo de datos entrante. Integra y reproduce fácilmente a través de una conexión de red utilizando todas las API de MediaPlayer.Exo Player fue lanzado oficialmente en Google I/O 2017Como no profundizaremos aquí, puedes ver el video

¿Qué es el streaming progresivo?

La transmisión progresiva es un mecanismo de transmisión de video en el que básicamente tenemos un solo archivo MP4 que se transmite en cada dispositivo y a diferentes velocidades de Internet en general.

¿Qué es el streaming adaptativo?

La transmisión adaptativa es un mecanismo de transmisión de video en el que cada vez que reproducimos un recurso, se ajusta automáticamente en función de la resolución y la velocidad de transmisión. Con la transmisión adaptativa, según la resolución de la pantalla y la velocidad de Internet, existen diferentes tamaños y calidades de video, mientras que este no es el caso. Transmisión progresiva.

dependencia gradle

En tus Proyecto módulo Gradl Asegúrate de tener :allprojects {repositories {google()jcenter()}} en el tuyo Departamento módulo Gradl Agregar :

Esta es la dependencia principal para la implementación de Exo Player, pero en caso de que quiera usar algunas de sus características específicas, puede usar las siguientes

Implementación ‘com.google.android.exoplayer:exoplayer:2.X.X’Para características principales (exoplayer-core:2.XX)//RequeridoPara soporte DASH (exoplayer-dash:2.XX)Para soporte HLS (exoplayer- hls :2.XX)Para soporte de transmisión fluida (exoplayer-smoothstreaming:2.XX)Para componentes de interfaz de usuario y soporte de recursos (exoplayer-ui:2.XX)

La última versión es 2.12.0* Esto se recomienda porque estamos usando la última vista de reproductor con estilo junto con esta en nuestro proyecto de demostración. Además, recuerda agregar:

Androide {opciones de compilación {Compatibilidad de origen 1.8 Compatibilidad de destino 1.8}}

parte de la interfaz de usuario

Ahora, cuando lleguemos a la interfaz de usuario, usaremos la configuración predeterminada Vista de jugador con estilo, Vista de control de jugador con estilo que viene junto con la última versión de exo-player, péguelo en el archivo xml de su actividad de la siguiente manera. Ahora pasemos a la lógica y la inicialización. Primero, debemos crear, inicializar y configurar nuestro reproductor con la fuente de medios que queremos, y en función de ello, en nuestro ciclo de vida de actividad podemos liberar/reinicializar nuestro reproductor.jugador exo simple: Este es un envoltorio que es nuestro jugadorFábrica de fuentes de datos: Este es un lector de datos de fábrica para nuestra fuente de datos, es decir, puede ser cualquier archivo, activo, https, etc. Cada una de nuestras fuentes de medios requiere una fábrica de fuentes de datosFuente de medios: Esto define, proporciona y carga los medios que reproducirá nuestro reproductor. Ahora tenemos diferentes tipos de fuentes de medios según nuestro tipo de medios, como HLS Media Source, Progressive Media Source (anteriormente utilizada como Extractor Media Source), Smooth Streaming Media Source, etc.

Bueno, no necesitamos preocuparnos por el hilo, pero por la información,

Se accede a Exo Player a través del hilo principal, pero para todo su trabajo interno como almacenamiento en búfer, preparación o reproducción de archivos para tesis, tiene un hilo de reproducción interno que utiliza un mecanismo clásico de hilo y controlador, en el que cuando trabajamos en nuestro reproductor (por ejemplo una búsqueda) se entrega un mensaje al hilo de reproducción interno a través de una cola de mensajes y viceversa, se entrega un mensaje a nuestro hilo principal en cada evento de reproducción

La interfaz de usuario le permite probar estas configuraciones

Con la nueva interfaz de usuario con estilo, resolvió muchos de nuestros problemas, como: B. Ahora ya no necesitamos agregar control de velocidad, subtítulos, manual de audio. Además, tenemos una interfaz de usuario muy decente con muchas características nuevas en comparación con la anterior.Pero aún habrá casos en los que necesitemos una funcionalidad de interfaz de usuario personalizada junto con la que necesitamos agregar soporte para múltiples calidades de video. Den aplausos y comentarios para motivarme a escribir otro artículo específicamente para todas estas cosas.Echa un vistazo a este increíble laboratorio de código de Google:https://codelabs.developers.google.com/codelabs/exoplayer-intro

Deja una respuesta

Tu dirección de correo electrónico no será publicada.