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.
- ¿Cómo incrustar texto durante la grabación de vídeo en Android?
- Android cámara2 api galaxia s7
- ¿Cómo utilizar exoplayer para reproducir un mp4 mientras estoy descargando desde un proxy local?
- Nexus 6 y MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
- Android: onSeekCompleteListener con VideoView
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.
- Se ha abandonado BufferQueue: Al reproducir vídeo con TextureView
- Picasso image loading library: cómo cargar miniaturas de video
- Error de MediaPlayer de Android (1, -2147483648) CFContent MP4 Video
- 06-16 12: 05: 46.802: E / chromium (15693): No se puede seleccionar el dispositivo de audio
- Cómo obtener vídeos en GridView desde ** SDCard / carpeta / subcarpeta "
- Convertir secuencias de entrada de vídeo a RTMP
- Android Marshmallow "No se puede reproducir este video" error
- La reproducción de vídeo proporciona pantalla en negro pero con sonido
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.
- ¿No se puede pausar la actividad?
- AWS S3 Java SDK: detecta el sesgo de tiempo / reloj de forma programática?