android java exoplayer将mediaitem保存到存储

kqqjbcuj  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(244)

我使用exoplayer在我的回收器视图中显示视频,如tiktok等。我可以设置媒体项并正确播放视频。所以我的设备上已经有了视频,现在我想保存它而不需要再次下载它
我还可以下载视频ia downloadmanager。问题是,如果用户下载视频,它会被下载两次,一次用于mediaitem,另一次通过下载管理器。
tldr问题:是否有一种方法可以将获取的mediaitem直接保存到存储中,而无需通过downloadmanager再次下载?

DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
                Uri downloadUri = Uri.parse(uri);
                DownloadManager.Request request = new DownloadManager.Request(downloadUri);

                request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE)
                        .setAllowedOverRoaming(true)
                        .setTitle(filename)
                        .setMimeType("video/mp4")
                        .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
                        .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,"/XXXX"+File.separator + filename + ".mp4");
                dm.enqueue(request);

此代码工作正常,但它会再次下载视频。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题