所以我正在播放来自外部存储(sdcard)的视频,我在播放视频时遇到了问题,这是我的代码:
Uri uri = Uri.parse(url);
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "video/*");
提示“抱歉,无法播放此视频”,但在普通的android播放器中,是可以播放的。我打印了 url,这就是我得到的:
VideoPlayer url: file:///mnt/sdcard/foldername/video-2012-12-26-21-26--44.mp4
是不是uri的问题?如果不是,你能给我指出正确的方向吗?另外,如果我尝试使用带有点 (.) 的文件夹名称,我会遇到问题吗?
url = file:///mnt/sdcard/Android/data/com.example.project/video-2012-12-26-21-26--44.mp4
谢谢。
编辑:由于我真正的问题没有解决,也没有人愿意回答,我提出了一个新问题: Android: Video is playable from gallery but when I play it using Intent.ACTION_VIEW type video, cannot play
我的问题的部分答案:
问题的发生是因为命名约定。我认为播放器不接受其中包含“--”的文件名。所以我通过更改文件名格式解决了这个问题。
//免责声明:我没有完整的解释和来源,但此信息只是从我的解决方法中推导出来的。
最佳答案
确保您通过 Intent 传递正确的 SD 卡路径。最好的方法是使用 Environment.getExternalStorageDirectory()用于获取 SDCARD 路径而不是传递静态字符串:
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);
关于android - Intent.ACTION_VIEW 视频 : external storage video "Sorry, this video cannot be played", 但在普通的安卓播放器中,它是可以播放的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14133140/