Mar*_*arl 1 android android-video-player android-intent
所以我正在播放外部存储(sdcard)的视频,我在播放视频时出现问题,这是我的代码:
Uri uri = Uri.parse(url);
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "video/*");
Run Code Online (Sandbox Code Playgroud)
它提示"抱歉,这个视频无法播放",但在普通的Android播放器中,它是可播放的.我打印了网址,这就是我得到的:
VideoPlayer url: file:///mnt/sdcard/foldername/video-2012-12-26-21-26--44.mp4
Run Code Online (Sandbox Code Playgroud)
这是uri的问题吗?如果不是,你能指出我正确的方向.另外,如果我尝试一个带点(.)的foldername,我会遇到问题吗?
url = file:///mnt/sdcard/Android/data/com.example.project/video-2012-12-26-21-26--44.mp4
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:由于我的真正问题没有解决,也没有人想再回答,我开辟了一个新问题: Android:视频可以从画廊播放但是当我使用Intent.ACTION_VIEW类型视频播放时,无法播放
部分回答我的问题:
由于命名约定,会出现此问题.我认为播放器不接受其中包含" - "的文件名.所以我通过更改文件名格式解决了这个问题.
//免责声明:我没有完整的解释和来源,但这些信息只是从我的解决方法中推断出来的.
确保你使用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);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3510 次 |
最近记录: |