Android: el video se puede reproducir desde la galería pero cuando lo reproduzco usando el video de tipo Intent.ACTION_VIEW, no se puede reproducir

Aquí está mi pregunta original

He implementado la respuesta allí, pero aún así el problema persiste.

Aquí está la esencia: Así que estoy reproduciendo un vídeo de almacenamiento externo (sdcard), estoy teniendo un problema con la reproducción del video y este es mi código:

Uri uri = Uri.parse(url); intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, "video/*"); 

Indica "Lo siento, este video no se puede reproducir", pero en la galería, es reproducible. Imprimí la url y esto es lo que conseguí:

 VideoPlayer url: file:///mnt/sdcard/foldername/video-2012-12-26-21-26--44.mp4 

El archivo existe de la respuesta que obtuve. Pero aún así el problema persiste, y no tengo ni idea de lo que salió mal.

Cualquier discernimiento es apreciado. Gracias

Edit: A los que no vieron la respuesta en la primera pregunta. Ya he implementado esto:

 intent = new Intent(Intent.ACTION_VIEW); File sdCard = Environment.getExternalStorageDirectory(); File file = new File(sdCard, "/foldername/video-2012-12-26-21-26--44.mp4"); intent.setDataAndType(Uri.fromFile(file), "video/*"); startActivity(intent); 

El archivo existe desde que lo he comprobado. Me pregunto si hay un problema con la convención de nomenclatura de archivos.

También estoy depurando desde mi dispositivo, Samsung Galaxy Ace, Android 2.3.6, compilación con 4.2 sdk.

Editar 2: He intentado cambiar el nombre del video por uno más sencillo y ahora el video funciona, supongo que el archivo tiene una limitación de longitud de nombre de archivo o una convención de nomenclatura.

Este código es de una aplicación de trabajo que he hecho, pruébelo.

 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType( Uri.parse("file://"+ file.getAbsolutePath()), "video/*"); 

Es necesario utilizar el esquema de file :

Por lo tanto, debe usar el intent.setDataAndType("file://" + uri, "video/*");

He intentado una solución diferente. Pero supongo que el problema se produjo debido a la convención de nomenclatura. He intentado cambiar el nombre del archivo en un formato más simple y funciona. También el problema con mi nombre de archivo original es que tengo un "-" en el nombre de archivo.

  • Cordova 3.6.3 Plugin de archivos - obtenga archivos de video locales en android
  • MediaExtractor.setDataSource lanza IOException "no se pudo instanciar el extractor"
  • Orientación de vídeo de retrato de Android incorrecta en VideoView
  • Buscando en YouTube HTML5 video sobre Android WebView
  • Android: Reproducción y grabación simultánea de vídeo
  • Cómo obtener el ID de video de YouTube, incluidos los parámetros
  • Android MediaPlayer seekTo no funciona
  • Subtítulos / Soporte de subtítulos en Android
  • El video no se reproduce en la vista web de Android
  • ¿Cómo obtener vídeo de la intención de la cámara y guardarlo en un directorio?
  • MediaRecorder - setOrientationHint () excepción / error
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.