[英]Can't play video in videoview android studio?
我知道给出了太多的解决方案,但我无法得到确切的解决方案。 我的问题是我从内部存储设备中选择了一个视频,在选择视频后,我已转换为字符串并将视频设置为 videoView,但它也显示在 videoView 中“无法播放此视频”。
谁能帮我找出解决方案:(
这是我的代码
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Download/videos.mp4");
Log.d("video",""+file);
if (file.exists()) {
Uri uri = Uri.fromFile(file);
String video = String.valueOf(uri);
Log.d("video",""+uri);
videoView.setMediaController(new MediaController(this));
videoView.setVideoURI(Uri.parse(video));
videoView.requestFocus();
videoView.start();
}else {
Toast.makeText(this, "No video found", Toast.LENGTH_SHORT).show();
}
使用范围存储(API 30 要求)您无法直接访问文件,除非您请求MANAGE_EXTERNAL_STORAGE
(在 Google Play 上您需要向 Google 请求)。
新方法是使用文件 uri. 你可以试试这些方法:
private final ActivityResultLauncher<String[]> openDoc =
registerForActivityResult(new ActivityResultContracts.OpenDocument(),
new ActivityResultCallback<Uri>() {
@Override
public void onActivityResult(Uri uri) {
// use uri
}
});
调用它:
// Use the mimetype you want (optional). Like "text/plain"
openDoc.launch(new String[]{"text/plain"});
在这里阅读更多
在这里阅读更多
如果文件不是由您的应用创建的,您还需要READ_EXTERNAL_STORAGE
权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.