SlideShare una empresa de Scribd logo
1 de 9
“Cetis 109”
Nombre: Cervantes Ramírez
Yesica Areli
Martínez Ramos Jacqueline
Janeth
Maestra: MCA/Margarita
Romero Alvarado
4°AM
Especialidad: Programación
Para comenzar crearemos un nuevo proyecto llamado ReproducirVideo, en el que
crearemos una actividad llamada MainActiv
ity.java con un layout activity_main.xml.
Si tenemos problemas al crear un nuevo proyecto, podemos repasar el tutorial
HolaMundo disponible en Imagina Formación.
Una vez creado veremos en el Package Explorer el nuevo proyecto con la siguiente estructura.
Como segundo paso debemos de crear una nueva carpeta llamada raw/ dentro del directorio
res/.
La carpeta raw la utilizaremos para almacenar recursos adicionales, normalmente en formato
distinto a XML, que no se incluyan en el resto de carpetas de recursos.
Ahora nos descargaremos el vídeo de prueba (PSD) y lo incluiremos en la carpeta recién creada.
Nota: Disponemos en la página oficial de Android Developers todos los formatos que reproduce el
sistema además de otras recomendaciones. Los dispositivos actuales suelen incluir más codecs
que nos permiten reproducir multitud de formatos de vídeo.
IMPLEMENTACIÓN
En primer lugar crearemos un control VideoView que ocupe toda la pantalla donde visualizaremos
el vídeo de Mono Agency. Lo definiremos en el layout de la Activity.
activity_main.xml
01 <?xml version="1.0" encoding="utf-8"?>
02
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
03 android:layout_width="match_parent"
04 android:layout_height="match_parent"
05 android:background="#FFFFFFFF" >
06
07 <VideoView
08 android:id="@+id/videoView_video"
09 android:layout_width="wrap_content"
10 android:layout_height="wrap_content"
11 android:layout_alignParentBottom="true"
12 android:layout_alignParentTop="true"
13 android:layout_centerInParent="true" />
14
15 </RelativeLayout>
Desde la Activity creamos un objeto VideoView y lo enlazamos con el control del layout mediante
la sentencia findViewById(). El objeto Uri se lo pasamos a VideoView de forma que le indiquemos
la ruta del vídeo.
Por último iniciamos la reproducción mediante videoView.start(). De ésta forma conseguimos que al
iniciar la actividad el vídeo empiece a reproducirse.
MainActivity.java
01 package com.example.reproducirvideo;
02
03 import android.app.Activity;
04 import android.net.Uri;
05 import android.os.Bundle;
06 import android.widget.VideoView;
07
08 public class MainActivity extends Activity {
09
10 @Override
11 public void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 setContentView(R.layout.activity_main);
14
15
VideoView videoView = (VideoView)
findViewById(R.id.videoView_video);
16
17
Uri path =
Uri.parse("android.resource://com.example.reproducirvideo/"
18 + R.raw.intromono);
19
20 videoView.setVideoURI(path);
21 videoView.start();
22 }
23 }
Al ejecutar el proyecto veremos el vídeo introducción de Mono Agency.
Si nos fijamos podemos ver las barras de estado del dispositivo, pero ésto no nos interesa. No
queda elegante. Podemos ocultarlas desde el código de la actividad o añadiendo unos
atributos en el AndroidManifest.xml.
Utilizaremos la segunda técnica. Le añadimos los atributos screenOrientation y theme a cada una
de las actividades que deseemos ocultar las barras de estado.
AndroidManifest.xml
01 <?xml version="1.0" encoding="utf-8"?>
02 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
03 package="com.example.reproducirvideo"
04 android:versionCode="1"
05 android:versionName="1.0" >
06
07 <uses-sdk android:minSdkVersion="8" />
08
09 <application
10 android:icon="@drawable/ic_launcher"
11 android:label="@string/app_name" >
12 <activity
13 android:name=".MainActivity"
14 android:label="@string/app_name"
15 android:screenOrientation="portrait"
16 android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
17 <intent-filter>
18 <action android:name="android.intent.action.MAIN" />
19
20
<category
android:name="android.intent.category.LAUNCHER" />
21 </intent-filter>
22 </activity>
23
24 </application>
25
26 </manifest>
El resultado lo vemos a continuación:
AMPLIACIÓN
Si queremos aprovechar éste código para crear un reproductor. Podemos añadir unos controles
para el usuario. Android nos provee de un sencillo control de los vídeos. Modificar el código
deMainActivity.java. Mediante la clase MediaControler añadimos los nuevos controles.
01 package com.example.reproducirvideo;
02
03 import android.app.Activity;
04 import android.net.Uri;
05 import android.os.Bundle;
06 import android.widget.MediaController;
07 import android.widget.VideoView;
08
09 public class MainActivity extends Activity {
10
11 @Override
12 public void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 setContentView(R.layout.activity_main);
15
16
VideoView videoView = (VideoView)
findViewById(R.id.videoView_video);
17
18
Uri path =
Uri.parse("android.resource://com.example.reproducirvideo/"
19 + R.raw.intromono);
20
21 //AMPLIACIÓN
22
MediaController mc = new MediaController(this);
23 videoView.setMediaController(mc);
24
25 videoView.setVideoURI(path);
26 videoView.start();
27 }
28 }
Controlador del vídeo se nos mostrará durante unos segundos y se ocultará de modo que si el
usuario pulsa sobre el vídeo se le volverá a mostrar.
Comentario personal
Mediante en esta investigación
estaremos aprendiendo como insertar
un video, reforzando nuestro
aprendizaje en eclipse.

Más contenido relacionado

La actualidad más candente

Eclipse para novatos java
Eclipse para novatos javaEclipse para novatos java
Eclipse para novatos java
martaferrari
 
Liferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollosLiferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollos
Ematiz Tecnología, S.L.
 
Uso de Liferay SDK + Netbeans
Uso de Liferay SDK + NetbeansUso de Liferay SDK + Netbeans
Uso de Liferay SDK + Netbeans
Albert Coronado
 

La actualidad más candente (14)

De 0 a 100 con Magento 2
De 0 a 100 con Magento 2De 0 a 100 con Magento 2
De 0 a 100 con Magento 2
 
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
 
Gwt manual de instalacion
Gwt   manual de instalacionGwt   manual de instalacion
Gwt manual de instalacion
 
Cetis 109(2)
Cetis 109(2)Cetis 109(2)
Cetis 109(2)
 
Linea del tiempo de los frameworks
Linea del tiempo de los frameworksLinea del tiempo de los frameworks
Linea del tiempo de los frameworks
 
Gadget review
Gadget reviewGadget review
Gadget review
 
Eclipse para novatos java
Eclipse para novatos javaEclipse para novatos java
Eclipse para novatos java
 
Preparando IDE Eclipse Kepler para Trabajar con GWT
Preparando IDE Eclipse Kepler para Trabajar con GWTPreparando IDE Eclipse Kepler para Trabajar con GWT
Preparando IDE Eclipse Kepler para Trabajar con GWT
 
App inventor
App inventorApp inventor
App inventor
 
Liferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollosLiferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollos
 
Uso de Liferay SDK + Netbeans
Uso de Liferay SDK + NetbeansUso de Liferay SDK + Netbeans
Uso de Liferay SDK + Netbeans
 
Hola mundo
Hola mundoHola mundo
Hola mundo
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
File
FileFile
File
 

Destacado (20)

Дом моей мечты
Дом моей мечтыДом моей мечты
Дом моей мечты
 
Manual1
Manual1Manual1
Manual1
 
9
99
9
 
Executive
Executive Executive
Executive
 
CVupdated
CVupdatedCVupdated
CVupdated
 
3
33
3
 
Scrap book
Scrap bookScrap book
Scrap book
 
Oso pardo
Oso pardoOso pardo
Oso pardo
 
Bilal Z Kayyali Resume
Bilal Z Kayyali ResumeBilal Z Kayyali Resume
Bilal Z Kayyali Resume
 
MANUAL 1
MANUAL 1MANUAL 1
MANUAL 1
 
c#
c#c#
c#
 
MANUAL 6
MANUAL 6MANUAL 6
MANUAL 6
 
Programa62
Programa62Programa62
Programa62
 
final resume PHP
final resume PHPfinal resume PHP
final resume PHP
 
BRICSfinalreport
BRICSfinalreportBRICSfinalreport
BRICSfinalreport
 
International Festival Event Guide Sample
International Festival Event Guide SampleInternational Festival Event Guide Sample
International Festival Event Guide Sample
 
comandos
comandoscomandos
comandos
 
Final Draft of Persuasive Research Proposal William K. Zink III
Final Draft of Persuasive Research Proposal William K. Zink IIIFinal Draft of Persuasive Research Proposal William K. Zink III
Final Draft of Persuasive Research Proposal William K. Zink III
 
Programa 2
Programa 2 Programa 2
Programa 2
 
Ed Grant 2008
Ed Grant 2008Ed Grant 2008
Ed Grant 2008
 

Similar a Insertsar un video

Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
Vicente Gerardo Guzman Lucio
 
Tutorial 1 android
Tutorial 1 androidTutorial 1 android
Tutorial 1 android
libidinosa
 
Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)
equipotresamp
 
01 instalación del ambiente de desarrollo para android
01 instalación del ambiente de desarrollo para android01 instalación del ambiente de desarrollo para android
01 instalación del ambiente de desarrollo para android
Bēto Naranjo
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo ii
Freelance
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
Jorge Soro
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
blasty2
 

Similar a Insertsar un video (20)

Video
VideoVideo
Video
 
Insertar video
Insertar videoInsertar video
Insertar video
 
Tutorial
TutorialTutorial
Tutorial
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
 
Tutorial 1 android
Tutorial 1 androidTutorial 1 android
Tutorial 1 android
 
Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)
 
De los temas de android (introduccion-10)
De los temas de android (introduccion-10)De los temas de android (introduccion-10)
De los temas de android (introduccion-10)
 
Tv Future is Apps - tvOS vs AndroidTV
Tv Future is Apps - tvOS vs AndroidTVTv Future is Apps - tvOS vs AndroidTV
Tv Future is Apps - tvOS vs AndroidTV
 
01 instalación del ambiente de desarrollo para android
01 instalación del ambiente de desarrollo para android01 instalación del ambiente de desarrollo para android
01 instalación del ambiente de desarrollo para android
 
Continuous Integration
Continuous Integration Continuous Integration
Continuous Integration
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo ii
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Android
AndroidAndroid
Android
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Web API ASP. NET XAMARIN - Luis Fernando Aguas
Web API ASP. NET XAMARIN - Luis Fernando AguasWeb API ASP. NET XAMARIN - Luis Fernando Aguas
Web API ASP. NET XAMARIN - Luis Fernando Aguas
 
Gadget review
Gadget reviewGadget review
Gadget review
 
Android
AndroidAndroid
Android
 

Más de arecerv

Insertsar un video2
Insertsar un video2Insertsar un video2
Insertsar un video2
arecerv
 
Presentación 17
Presentación 17Presentación 17
Presentación 17
arecerv
 
Presentación 16
Presentación 16Presentación 16
Presentación 16
arecerv
 
Presentación 15
Presentación 15Presentación 15
Presentación 15
arecerv
 
Presentación 17
Presentación 17Presentación 17
Presentación 17
arecerv
 
Imagen eclipse
Imagen eclipseImagen eclipse
Imagen eclipse
arecerv
 
Presentación13
Presentación13Presentación13
Presentación13
arecerv
 
Presentación 10
Presentación 10Presentación 10
Presentación 10
arecerv
 
Presentación 13
Presentación 13Presentación 13
Presentación 13
arecerv
 
Presentación 12
Presentación 12Presentación 12
Presentación 12
arecerv
 
Presentación 11
Presentación 11Presentación 11
Presentación 11
arecerv
 
Presentación 10
Presentación 10Presentación 10
Presentación 10
arecerv
 
Presentacion 10
Presentacion 10Presentacion 10
Presentacion 10
arecerv
 
Presentación 7
Presentación 7Presentación 7
Presentación 7
arecerv
 

Más de arecerv (20)

Insertsar un video2
Insertsar un video2Insertsar un video2
Insertsar un video2
 
Presentación 17
Presentación 17Presentación 17
Presentación 17
 
Presentación 16
Presentación 16Presentación 16
Presentación 16
 
Presentación 15
Presentación 15Presentación 15
Presentación 15
 
Presentación 17
Presentación 17Presentación 17
Presentación 17
 
Presentacion10
Presentacion10Presentacion10
Presentacion10
 
Imagen eclipse
Imagen eclipseImagen eclipse
Imagen eclipse
 
Imagen eclipse
Imagen eclipseImagen eclipse
Imagen eclipse
 
Programa14
Programa14Programa14
Programa14
 
Presentación13
Presentación13Presentación13
Presentación13
 
Presentación 10
Presentación 10Presentación 10
Presentación 10
 
Programa 14
Programa 14Programa 14
Programa 14
 
Presentación 13
Presentación 13Presentación 13
Presentación 13
 
Presentación 12
Presentación 12Presentación 12
Presentación 12
 
Presentación 11
Presentación 11Presentación 11
Presentación 11
 
Presentación 10
Presentación 10Presentación 10
Presentación 10
 
Presentacion 10
Presentacion 10Presentacion 10
Presentacion 10
 
Presentación 9
Presentación 9Presentación 9
Presentación 9
 
Presentación 7
Presentación 7Presentación 7
Presentación 7
 
Programa 9
Programa 9Programa 9
Programa 9
 

Último

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 

Último (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 

Insertsar un video

  • 1. “Cetis 109” Nombre: Cervantes Ramírez Yesica Areli Martínez Ramos Jacqueline Janeth Maestra: MCA/Margarita Romero Alvarado 4°AM Especialidad: Programación
  • 2. Para comenzar crearemos un nuevo proyecto llamado ReproducirVideo, en el que crearemos una actividad llamada MainActiv ity.java con un layout activity_main.xml. Si tenemos problemas al crear un nuevo proyecto, podemos repasar el tutorial HolaMundo disponible en Imagina Formación.
  • 3. Una vez creado veremos en el Package Explorer el nuevo proyecto con la siguiente estructura.
  • 4. Como segundo paso debemos de crear una nueva carpeta llamada raw/ dentro del directorio res/. La carpeta raw la utilizaremos para almacenar recursos adicionales, normalmente en formato distinto a XML, que no se incluyan en el resto de carpetas de recursos. Ahora nos descargaremos el vídeo de prueba (PSD) y lo incluiremos en la carpeta recién creada. Nota: Disponemos en la página oficial de Android Developers todos los formatos que reproduce el sistema además de otras recomendaciones. Los dispositivos actuales suelen incluir más codecs que nos permiten reproducir multitud de formatos de vídeo. IMPLEMENTACIÓN En primer lugar crearemos un control VideoView que ocupe toda la pantalla donde visualizaremos el vídeo de Mono Agency. Lo definiremos en el layout de la Activity. activity_main.xml 01 <?xml version="1.0" encoding="utf-8"?> 02 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 03 android:layout_width="match_parent" 04 android:layout_height="match_parent" 05 android:background="#FFFFFFFF" > 06 07 <VideoView 08 android:id="@+id/videoView_video" 09 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:layout_alignParentBottom="true" 12 android:layout_alignParentTop="true"
  • 5. 13 android:layout_centerInParent="true" /> 14 15 </RelativeLayout> Desde la Activity creamos un objeto VideoView y lo enlazamos con el control del layout mediante la sentencia findViewById(). El objeto Uri se lo pasamos a VideoView de forma que le indiquemos la ruta del vídeo. Por último iniciamos la reproducción mediante videoView.start(). De ésta forma conseguimos que al iniciar la actividad el vídeo empiece a reproducirse. MainActivity.java 01 package com.example.reproducirvideo; 02 03 import android.app.Activity; 04 import android.net.Uri; 05 import android.os.Bundle; 06 import android.widget.VideoView; 07 08 public class MainActivity extends Activity { 09 10 @Override 11 public void onCreate(Bundle savedInstanceState) { 12 super.onCreate(savedInstanceState); 13 setContentView(R.layout.activity_main); 14 15 VideoView videoView = (VideoView) findViewById(R.id.videoView_video); 16 17 Uri path = Uri.parse("android.resource://com.example.reproducirvideo/" 18 + R.raw.intromono); 19 20 videoView.setVideoURI(path); 21 videoView.start(); 22 } 23 } Al ejecutar el proyecto veremos el vídeo introducción de Mono Agency.
  • 6. Si nos fijamos podemos ver las barras de estado del dispositivo, pero ésto no nos interesa. No queda elegante. Podemos ocultarlas desde el código de la actividad o añadiendo unos atributos en el AndroidManifest.xml. Utilizaremos la segunda técnica. Le añadimos los atributos screenOrientation y theme a cada una de las actividades que deseemos ocultar las barras de estado. AndroidManifest.xml 01 <?xml version="1.0" encoding="utf-8"?> 02 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 03 package="com.example.reproducirvideo" 04 android:versionCode="1" 05 android:versionName="1.0" > 06 07 <uses-sdk android:minSdkVersion="8" /> 08 09 <application 10 android:icon="@drawable/ic_launcher" 11 android:label="@string/app_name" > 12 <activity 13 android:name=".MainActivity" 14 android:label="@string/app_name" 15 android:screenOrientation="portrait" 16 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 17 <intent-filter> 18 <action android:name="android.intent.action.MAIN" />
  • 7. 19 20 <category android:name="android.intent.category.LAUNCHER" /> 21 </intent-filter> 22 </activity> 23 24 </application> 25 26 </manifest> El resultado lo vemos a continuación: AMPLIACIÓN Si queremos aprovechar éste código para crear un reproductor. Podemos añadir unos controles para el usuario. Android nos provee de un sencillo control de los vídeos. Modificar el código deMainActivity.java. Mediante la clase MediaControler añadimos los nuevos controles. 01 package com.example.reproducirvideo; 02 03 import android.app.Activity; 04 import android.net.Uri; 05 import android.os.Bundle; 06 import android.widget.MediaController; 07 import android.widget.VideoView; 08 09 public class MainActivity extends Activity { 10 11 @Override 12 public void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 16 VideoView videoView = (VideoView) findViewById(R.id.videoView_video); 17 18 Uri path = Uri.parse("android.resource://com.example.reproducirvideo/" 19 + R.raw.intromono); 20 21 //AMPLIACIÓN
  • 8. 22 MediaController mc = new MediaController(this); 23 videoView.setMediaController(mc); 24 25 videoView.setVideoURI(path); 26 videoView.start(); 27 } 28 } Controlador del vídeo se nos mostrará durante unos segundos y se ocultará de modo que si el usuario pulsa sobre el vídeo se le volverá a mostrar.
  • 9. Comentario personal Mediante en esta investigación estaremos aprendiendo como insertar un video, reforzando nuestro aprendizaje en eclipse.