首页 > 解决方案 > 如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在 Flutter 应用程序上播放视频?

问题描述

我想开发一个颤振应用程序,用户可以通过一个按钮从在线下载所有视频并将其存储在本地设备上,然后在颤振应用程序上离线播放这些视频使用视频播放器?

我通过资产视频做到了这一点。但是,如果我使用资产中的视频并构建应用程序,那么 apk 的大小会更大。这就是为什么我想制作这个颤振应用程序,用户打开应用程序并单击一个按钮,按下通过所选小部件中的链接从预定义服务器下载的列表视频。然后用户可以通过视频播放器播放这些视频。

标签: androidflutterflutter-layoutvideo-playerflutter-web

解决方案


您可能想尝试一下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");
}

推荐阅读