我有一个 DownloadManager
来下载视频,以便我可以使用播放器播放。但是当我开始下载的时候,它生成了未完成的.mp4
文件,所以当我在下载完成之前尝试播放时,会显示错误,是否可以在下载完成之前更改其扩展名?
DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Uri uri = Uri.parse(url);
DownloadManager.Request request = new DownloadManager.Request(uri); request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI|DownloadManager.Request.NETWORK_MOBILE).setDescription("caching video").setDestinationInExternalPublicDir("/Android/data/", id + ".mp4");
long id = manager.enqueue(request);
最佳答案
你可以用一些不同的方式解决你的问题
而不是在完成下载之前更改其扩展名
,您需要像这样使用更改后的扩展名开始下载:
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI|DownloadManager.Request.NETWORK_MOBILE).setDescription("caching video").setDestinationInExternalPublicDir("/Android/data/", id + ".mp4.tmp");
下载完成后,将文件重命名为 "/Android/data/", id + ".mp4"
关于Android DownloadManager 如何在完成下载前将文件标记为临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40542478/