繁体   English   中英

无法在 videoview android studio 中播放视频?

[英]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. 你可以试试这些方法:

  1. 询问用户 select 文件。
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"});

在这里阅读更多

  1. 使用 MediaStore 获取媒体文件 uri

在这里阅读更多

如果文件不是由您的应用创建的,您还需要READ_EXTERNAL_STORAGE权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM