Flutter 中用于 Web、移动和桌面应用程序的视频播放器?
Posted
技术标签:
【中文标题】Flutter 中用于 Web、移动和桌面应用程序的视频播放器?【英文标题】:Video player for web, mobile and desktop applications in Flutter? 【发布时间】:2019-10-05 23:02:54 【问题描述】:有这个Flutter插件可以在ios和android上播放视频(Video Plugin)
不过,我还想在我的网络和桌面应用程序中嵌入视频播放器。
所以我不明白 Flutter 是如何以这种方式支持不同平台的插件的。因为如果您看一下视频插件,它会使用 iOS 上的 AVPlayer 和 Android 上的 ExoPlayer,但 Web 和桌面应用程序不支持这些。
我的问题: 为什么社区不为独立于其底层平台的视频编写 Flutter 插件?还是不可能?为什么我们必须如此依赖 Android 和 iOS,尤其是如果 Flutter 未来将越来越独立于平台?光靠 Dart 语言和 Flutter 框架就不能写出让视频在不同平台上运行的源代码吗?
目前有没有办法为网络和桌面应用程序嵌入视频播放器?
【问题讨论】:
【参考方案1】:您可以使用dart_vlc 将视频播放添加到您的 Flutter 桌面应用程序中。
目前支持 Windows 和 Linux,我们正在积极添加 macOS 支持。
这个库也更容易使用,
Player player = Player(id: 0);
player.open(
Playlist(
medias: [
Media.file(File('C:/music.mp3')),
Media.file(File('C:/audio.mp3')),
Media.network('https://www.example.com/music.aac'),
],
),
);
谢谢。查看项目 README 以获得更多示例和文档。
【讨论】:
【参考方案2】:video_player
和 video_player_web
插件适用于 web、android 和 ios。但我没有在桌面上测试过它们。
【讨论】:
【参考方案3】:您可以尝试使用WebView
by flutter_webview_plugin
包。它可以利用任何操作系统中的内置视频解码器/播放器,因为它们被预加载为 Web 内容。
编辑:这是因为目前还没有找到很多适用于桌面和 Web 平台的视频插件(至少在我看来)
【讨论】:
以上是关于Flutter 中用于 Web、移动和桌面应用程序的视频播放器?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 成为多平台框架,支持移动Web桌面和嵌入式设备
Flutter: 适用于移动Web嵌入式和桌面平台的便携式界面框架