无法播放路径(/storage/emulated/0/Android/data/com...)中的视频

问题描述 投票:0回答:1

我已使用以下代码将视频保存在手机内部:

public static void DownloadVideo(Context context, String URL) {

        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(URL));
        Date date = new Date();
        SimpleDateFormat videoName = new SimpleDateFormat("yyyymmdd_HHmmss");
        String strDate = videoName.format(date);
        request.setDescription("Setting up the AR");
        request.setTitle("AR setup ...");

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            request.allowScanningByMediaScanner();
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
        }

        request.setDestinationInExternalFilesDir(context, "/NewVisionARVideos/", "" + strDate + System.currentTimeMillis() + ".mp4");

        System.out.println("count  files  --- " + context.getExternalFilesDir(null).listFiles());

        for(int i = 0; i < context.getExternalFilesDir(null).listFiles().length; i++){

            System.out.println("** each file -- " + context.getExternalFilesDir(null).listFiles()[i]);
        }

        DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
        manager.enqueue(request);

    }

这是我在清单文件中添加的内容:

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

这是我指向加载视频的路径:

String path = "/storage/emulated/0/Android/data/com.shliama.augmentedvideotutorial/files/NewVisionARVideos/test.mp4";

以下是我尝试在媒体播放器中播放视频时出现的错误。路径是正确的,我也启用了清单和手机中的权限。

以下是出现的错误:

D/ArVideoFragment: playbackVideo = /storage/emulated/0/Android/data/com.shliama.augmentedvideotutorial/files/NewVisionARVideos/test.mp4
E/ArVideoFragment: Could not play video [/storage/emulated/0/Android/data/com.shliama.augmentedvideotutorial/files/NewVisionARVideos/test.mp4]
    java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.shliama.augmentedvideotutorial/files/NewVisionARVideos/test.mp4

在android中还有其他播放视频的方式吗

MediaPlayer

编辑:

实际上,自从我关注这篇博客帖子后,发现我指向了资产文件夹。

这是指向资产文件夹的方法 https://gist.github.com/huxaiphaer/268b94a0e7959822fa679a7523701187

java android kotlin android-mediaplayer internal-storage
1个回答
0
投票

我认为,您没有正确获取外部存储目录。

用这个

 Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath() + "Android/data/com.shliama.augmentedvideotutorial/files/NewVisionARVideos/test.mp4");

检查您的路径是否正确,并检查您的视频。

© www.soinside.com 2019 - 2024. All rights reserved.