2012-06-03 29 views
14

que estaba creando una aplicación simple que transmitir vídeos desde la red y lo hice, pero ahora quiero cambiar el código para que pueda reproducir archivos de vídeo de mi tarjeta SDCómo reproducir vídeos desde la tarjeta SD

código original:

Uri vidFile = Uri.parse("MY SITE HERE"); 
VideoView videoView = (VideoView) findViewById(R.id.VideoView); 
videoView.setVideoURI(vidFile); 
videoView.setMediaController(new MediaController(this)); 
videoView.start(); 

Así que por favor ayúdenme con cambiar el código para que pueda reproducir videos desde mi tarjeta de memoria móvil.

Respuesta

11

videoView.setVideoURI(vidFile); El método debe ser reemplazado por el método videoView.setVideoPath(path);. Aquí ruta especifica la ruta del archivo de video en el SDCARD.

Esta ruta se puede recuperar fácilmente utilizando la propiedad MediaStore.Video.Media.DATA de ese archivo de video o simplemente ingresando la ruta de canción estáticamente como /sdcard/songname.

+0

oye qué pasa con Uri vidFile = Uri.parse ("MI SITIO AQUÍ "); Corrígeme si estoy equivocado, pero no es necesario, así que debería eliminarlo. – Mohit

+0

sí, debería. es inútil a menos que sea una transmisión remota. –

+0

Por cierto, ¿solo reproducirá archivos .3gp o depende de formatos compatibles con mi teléfono móvil? – Mohit

1

En lugar de

videoView.setVideoUri(vidFile)

uso

videoView.setVideoPath("/sdcard/SONG.").

Avísame.

5
Uri vidFile = Uri.parse(
    Environment.getExternalStorageDirectory().getAbsolutePath()+"filename"); 
... 

el resto del código será el mismo.

+0

tiene un nombre de archivo para un archivo de video específico, ¿qué sucede si quiero seleccionar de una lista, cómo reproducir el archivo de video SELECCIONADO? – Mohit

+0

el código de ejemplo anterior asume que el archivo está en el nivel de raíz ... puede agregar /path/filename.mp4 a la ruta devuelta por 'getabsolutePath()' – Ronnie

0

También probé su código y recibí el mismo mensaje de error, pero cuando probé con la ruta de video sin espacio en blanco en la ruta o el nombre, funcionó bien. Solo inténtalo. por ejemplo, ruta del archivo "/ mnt/sdcard/Películas/Long Drive Song - Khiladi 786 pies Akshay Kumar_Asin-YouTube.mp4" dio el error, pero la ruta del archivo "/mnt/sdcard/Movies/Khiladi.mp4" funcionó bien .

Cuestiones relacionadas