Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Transmisión de Video en Aplicaciones Android

by
Difficulty:IntermediateLength:LongLanguages:

Spanish (Español) translation by Viviana Brito (you can also view the original English article)

La plataforma Android proporciona bibliotecas que puede utilizar para transmitir archivos multimedia, como vídeos remotos, presentándolos para su reproducción en sus aplicaciones. En este tutorial, se transmitir un archivo de vídeo, mostrando mediante el componente VideoView junto con un objeto MediaController dejó la lectura de control de usuario.

También brevemente se ejecutará a través del proceso de presentar el vídeo usando la clase MediaPlayer. Si has completado la serie sobre la creación de un reproductor de música para Android, podría utilizar lo que se aprende en este tutorial para aumentarlo. Usted debe ser capaz de completar este tutorial si ya han desarrollado por lo menos algunas aplicaciones Android.

1. cree una nueva aplicación

Paso 1

Usted puede utilizar el código de este tutorial para mejorar una aplicación existente que está trabajando o puede crear una nueva aplicación ahora en Eclipse o en estudio Android. Cree un nuevo proyecto Android, nómbrelo según su elección, configure los detalles y asígnele una clase Activity principal inicial y un diseño de plantilla.

Paso 2

Primero vamos a configurar el manifiesto del proyecto para la transmisión de archivos multimedia.   Abra el archivo del manifiesto de su proyecto y cambie a edición XML en su IDE.  Para la transmisión de archivos multimedia, necesita acceso a Internet, por lo tanto añada el siguiente permiso dentro del elemento manifest

2. Añada VideoView

Paso 1

La plataforma Android provee de la clase VideoView en la que puede reproducir archivos de video.  Vamos a agregar una a el archivo de la plantilla principal. 

Alterar parent layout para adaptarse a su aplicación si es necesario. Le damos la instancia VideoView un atributo id que podemos referirnos a él más adelante. Puede que necesite ajustar las otras propiedades de diseño para su propio diseño.

Paso 2

Ahora vamos a recuperar una referencia a la instancia VideoView en código. Abra la Main Activity Class de la aplicación y añadir las importaciones adicionales siguientes:

La clase de actividad debe contener ya el método onCreate en el que se establece la vista de contenido:

Después de la línea setContentView, vamos a obtener una referencia a la instancia VideoView como sigue, utilizando el id que hemos creado en el esquema XML:

3. secuencia de un archivo de vídeo

Paso 1

Ahora podemos transmitir un archivo de vídeo a la aplicación. Preparar la URI para el punto final como sigue:

Por supuesto necesitará usar la dirección remota para el archivo de vídeo que desea transmitir. El ejemplo aquí es un archivo de vídeo de dominio público alojado en Internet Archive. Analizar la cadena de dirección como un URI para que podemos pasar al objeto VideoView:

Ahora usted puede simplemente reproducir:

El sistema operativo Android soporta una amplia gama de formatos de video y los medios de comunicación, con cada dispositivo a menudo compatible con formatos adicionales además de todo esto.

Como se puede ver en la guía del desarrollador, formatos de vídeo soportados son 3GP, MP4, WEBM y MKV, dependiendo del formato utilizado y en que nivel de la plataforma se haya instalado el usuario.

Formatos de archivo de audio usted puede contar con soporte incorporado para incluyen MP3, MID, OGG y WAV. Puede transmitir multimedia en Android sobre RTSP, HTTP y HTTPS (de Android 3.1).

4. Añadir controles de reproducción

Paso 1

Hemos implementado la reproducción de vídeo, pero el usuario espera y estar acostumbrados a tener control sobre él. Una vez más, la plataforma Android proporciona recursos para manejar esto con interacción familiar a través de la clase MediaController.

En su método onCreate de la clase Activity, antes de la línea en que llama start en VideoView, debe crear una instancia de la clase: 

A continuación, configure para usar la instancia VideoView como su  ancla: 

Y finalmente: configure como controlador multimedia el objeto VideoView

Ahora, cuando corra la app, el usuario será capaz de controlar la reproducción del video que se transmite, incluyendo los botones de avance y retroceso, el botón de play/pausa y control de la barra de reproducción.

El control de la barra de reproducción está acompañado por la longitud del archivo multimedia a la derecha y la posición actual de la reproducción a la izquierda.  Aparte de poder pulsar a lo largo de la barra de reproducción para saltar a una posición del archivo, el estado de la transmisión está indicado usando el mismo tipo de visor al que el usuario está acostumbrado a ver en sitios y apps como YouTube.

Como verá cuando cuando corra la app, el comportamiento por defecto es que los controles desaparezcan luego de unos momentos, reapareciendo cuando el usuario toca la pantalla. Puede configurar el comportamiento del objeto MediaController de varias maneras.  Vea  series en la creación de una app reproductor de música para Android para un ejemplo de cómo hacer esto.  También puede mejorar la reproducción de archivos multimedia, mediante la implementación de varios oyentes para configurar el comportamiento de la aplicación.

5. Usando MediaPlayer 

Paso 1

Antes de terminar, vamos a tomar un enfoque alternativo para la transmisión de un video, haciendo uso de la clase MediaPlayer, ya que la aplicamos en series on creating a music player. Puede correr archivos multimedia, incluyendo video, a un objeto MediaPlayer usando una vista de la superficie.  Por ejemplo, puede usar la siguiente plantilla:

Vamos a referirnos a SurfaceView en la implementación de la clase Activity.

Paso 2:

En su clase Actividad, añada las siguientes interfaces:

Su IDE debería solicitarle que añada estos métodos sin implementar. 

Vamos a agregar los métodos surfaceCreated y onPrepared.

Paso 3

Para implementar la reproducción, agregue las siguientes variables de instancia a la clase:

En el método onCreate de Activity, puede comenzar a instanciar estas variables usando el objeto SurfaceView que añadió en la plantilla. 

Paso 4

En el método surfaceCreated, configure los recursos de su reproductor de medios

Finalmente, en el método onPrepared, comienza la reproducción.

Ahora su video debería reproducirse en la instancia MediaPlayer cuando ejecute la app. 

Conclusión

En este tutorial, hemos esbozado los fundamentos de la transmisión de vídeo en Android, utilizando las clases VideoView y MediaPlayer.  Puede añadir muchas mejoras al código que implementamos aquí, por ejemplo, mediante la creación de vídeo o soporte  en la reproducción de medios en la app del reproductor de música que creamos. También puede querer revisar nuestros recursos asociados para Android como ser YouTube Android Player API.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.