Flutter视频播放器加载和缓冲示例



我正在努力了解flutter视频播放器是如何工作的。如果我加载一个文件大小为20MB的单个文件mp4视频的url,整个文件是否在播放前下载?或者是以某种方式下载的文件的一部分,然后当它们通过视频达到某种方式时(比如缓冲(会下载更多。

视频是一个单独的文件,没有被转换成具有不同比特率的较小文件。

我这样初始化我的播放器

videoController = VideoPlayerController.network(url)
..initialize().then((_) {
setState(() {});
});

非常感谢

使用VideoPlayer小部件"照原样";保证您拥有标准的缓冲区管理。这意味着,如果你停止视频,后台的插件会继续加载视频。

请注意,我们的API或web服务器支持缓冲/文件流,而不仅仅是文件下载,在最后一种情况下,video_player将仅在从服务器完成视频下载后启动。

  1. 声明

    bool isLoading=true
  2. 初始化控制器时,在initstate中将isloading设置为false

    videoController=VideoPlayerController.network(url(..initialize((.then((_({
    setState((({>isLoading=false;})
  3. 在您的小部件中

    是否正在加载?CircularProgressIndicator((:SizedBox((