如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在Flutter应用上播放视频?

时间:2020-01-28 12:21:40

标签: android flutter flutter-layout video-player flutter-web

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

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

1 个答案:

答案 0 :(得分:2)

您可能想尝试一下dio软件包,它是一个支持文件下载并将其本地保存到给定路径的http客户端。

这是一个代码示例(来源:iampawan's 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");
}