我正在使用providerwithvideo_player来管理状态。
VideoProvider 具有:
videoPlayerController = VideoPlayerController.network(...);
Run Code Online (Sandbox Code Playgroud)
当用户切换到新视频(同一屏幕)时,我经常更改它。如果我直接分配一个新VideoPlayerController.network(...)的videoPlayerController,旧的视频仍然会播放,你可以听到声音。解决方法是videoPlayerController.pause()之后分配一个新的VideoPlayerCOntroller.network。
之前的Video是被GC处理了吗?这有任何性能问题吗?我想在切换到新视频之前摆脱以前的视频和使用的资源。videoPlayerController.dispose()在切换之前我不能,因为它会导致错误。
我现在正在 Flutter 中开发视频播放器并使用Chewie包,该包也在内部使用 Flutter 的官方video_player。
视频将以m3u8格式传输到 Flutter 应用程序。我想让用户像 Youtube 一样选择视频质量(720p、480p等)。
由于 Flutter 的 video_player 是基于 Android 的 ExoPlayer 的,所以我知道 ExoPlayer 支持用户选择视频质量。
Flutter video_player是否有任何选项、设置或配置可以让用户选择视频质量?
如何使用默认视频播放器实现动态更改Flutter ' https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4 ' 中的视频?
void initState() {
// Create and store the VideoPlayerController. The VideoPlayerController
// offers several different constructors to play videos from assets, files,
// or the internet.
_controller = VideoPlayerController.network(
'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4',
);
// Initialize the controller and store the Future for later use.
_initializeVideoPlayerFuture = _controller.initialize();
// Use the controller to loop the video.
_controller.setLooping(true);
super.initState();
}
Run Code Online (Sandbox Code Playgroud)