android - 如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在 Flutter 应用程序上播放视频?
问题描述
我想开发一个颤振应用程序,用户可以通过一个按钮从在线下载所有视频并将其存储在本地设备上,然后在颤振应用程序上离线播放这些视频使用视频播放器?
我通过资产视频做到了这一点。但是,如果我使用资产中的视频并构建应用程序,那么 apk 的大小会更大。这就是为什么我想制作这个颤振应用程序,用户打开应用程序并单击一个按钮,按下通过所选小部件中的链接从预定义服务器下载的列表视频。然后用户可以通过视频播放器播放这些视频。
解决方案
您可能想尝试一下dio包,它是一个支持文件下载并将其本地保存到给定路径的 http 客户端。
这是一个代码示例(来源:iampawan 的 Github)
Future downloadFile(String url) async {
Dio dio = Dio();
try {
var dir = await getApplicationDocumentsDirectory();
await dio.download(url, "${dir.path}/myFile.txt", onProgress: (rec, total) {
print("Rec: $rec , Total: $total");
});
} catch (e) {
print(e);
}
print("Download completed");
}
推荐阅读
- java - 如何从本地 maven 项目的 jmeter 场景(.jmx 文件)创建 JAR?
- html - 如何正确对齐 svg?
- docker - Shinyproxy 错误 500:无法启动容器/原因:java.io.IOException:权限被拒绝
- python - 如何在嵌套元组中获得唯一的对组合?
- python - 连接四个表不会产生异常输出
- python - 实现选择标志的 Pythonic 方式
- php - laravel 7显示图片的问题
- python - Python paramiko 导入失败
- node.js - 如果节点是单线程的,节点如何使用超过 100% 的 CPU?
- integromat - 自定义 Integromat 应用程序中选择参数的嵌套字段