2010-09-19 9 views
14

que quiero reproducir un vídeo de mis activos o carpeta prima en mi aplicación en Android usando VideoView estoy consiguiendo el error como el vídeo no se puede reproducir favor alguien me dan una solución.Quiero jugar un video de mis activos o carpeta prima

Este es el código utilicé

VideoView vd = (VideoView)findViewById(R.id.Video);   
Uri uri = Uri.parse("android.resource:" + R.raw.video); 
MediaController mc = new MediaController(this); 
vd.setMediaController(mc); 
vd.setVideoURI(uri); 
vd.start(); 
+0

Hey @Macarse, podría usted poner en un sólido y aceptar mi respuesta con más votos en esta pregunta? –

Respuesta

7

Debe incluir el nombre del paquete en el URI:

Uri uri = Uri.parse("android.resource://[package]/raw/video") 

o

Uri uri = Uri.parse("android.resource://[package]/"+R.raw.video); 

Además, la salida these examples.

32

Un par de cosas a tener en cuenta:

  1. debe copiar el vídeo en res cruda/carpeta de su proyecto.
  2. Debe estar en un formato compatible (3GP, WMV, MP4) y nombrado con letras minúsculas, numéricos, de relieve y puntos en su nombre de archivo: my_video_file.mp4
  3. Cuando se trabaja con este recurso en el código, hará referencia a través de la estática R generada - tendrá la extensión de archivo eliminada: R.raw.my_video_file
  4. La clase Activity tiene un método de ayuda getPackageName() que puede usar su código al construir el URI correcto para su vídeo.
VideoView vv = (VideoView)this.findViewById(R.id.videoView) 
String uri = "android.resource://" + getPackageName() + "/" + R.raw.my_video_file; 
vv.setVideoURI(Uri.parse(uri)); 
vv.start(); 

Hay más información sobre este here.

+0

He usado 'VideoView' para reproducir video desde la carpeta sin formato, pero el video no se reproduce en la versión inferior por debajo de 2.3. Me muestra el error "El video no se puede reproducir". Por favor, guíame dónde está el problema, ya que el video se reproduce en otras versiones. – Dory

+0

Cuando gire la pantalla durante la reproducción del video, comenzará desde el principio.Entonces, ¿qué debo hacer para evitar que comience desde el principio? –

+0

@AnandSavjani No puedes controlar eso. Al girar la pantalla, Android carga la actividad actual – LonelyIdiot

0

Cuando incluimos un recurso de vídeo en /resource/raw/ o assets/, por defecto, se busca el formato de .mp4, que no aceptará .wmv archivos. Si lee un archivo de video desde ubicaciones externas (como: /mnt/sdcard/demo.wmv), entonces las aceptará.

0

Probar:

AssetFileDescriptor afd = getAssets().openFd(fileName); 
    player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength()); 
0

Asegúrese de escribir el nombre de archivo de vídeo sin extensión.

2

¡Hay tantas maneras de equivocarse con VideoView! Principalmente porque el logcat no le brinda ayuda, siempre dando el error UNKNOWN.

Encontré que este enlace era de lejos la mejor manera de comenzar ... Una descripción completa para que no se equivoque. Agradecemos al autor ...

http://androidexample.com/Play_Video_File_-_Android_Example/index.php?view=article_discription&aid=124&aaid=144

+0

¡El enlace está muerto! Desafortunadamente, ¡me podría relacionar fuertemente con lo que dijiste! Estoy luchando con la reproducción de video en Android desde hace un tiempo, lo que me falta es una introducción estructurada al tema, la Guía para Desarrolladores de Android no ayuda mucho aquí ... Sería genial si pudieras encontrar el contenido del enlace de nuevo y actualiza la publicación. (También podría ser que el enlace no esté temporalmente disponible ...) – nburk

+0

El enlace parece funcionar para mí. Si todavía tiene problemas, google "androidexample.com Play_Video_File _-_ Android_Example" – Marky0

Cuestiones relacionadas