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

Posted

技术标签:

【中文标题】如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在 Flutter 应用程序上播放视频?【英文标题】:How to Download Video from Online and store it local Device then play video on Flutter apps Using video player? 【发布时间】:2020-05-13 20:45:06 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

旁注,你需要 path_provider 包来使用 getApplicationDocumentsDirectory() 函数pub.dev/packages/path_provider

以上是关于如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在 Flutter 应用程序上播放视频?的主要内容,如果未能解决你的问题,请参考以下文章

获取 YouTube 视频缩略图并将其与 PHP 一起使用

iPhone:如何下载媒体文件并将其保存在设备上

MediaSource API:视频无法播放

如何从网络下载图像并将其保存在本地目录中?

Xamarin 表单视频缩略图:尝试在 IOS 13.1.3 设备上创建视频缩略图表单本地存储时出错

学堂在线视频课件课程下载工具,如何在电脑端下载学堂在线视频课件PDF,PPT到本地