在 Flutter 中播放本地视频
Play local videos in Flutter
我需要在我的应用程序中播放资产视频,但视频播放器插件一直在缓冲但没有播放视频。但是,如果我使用网络视频,那么代码将完美运行。
这是我的代码,
class LandscapePlayer extends StatefulWidget {
@override
_LandscapePlayerState createState() => _LandscapePlayerState();
}
class _LandscapePlayerState extends State<LandscapePlayer> {
FlickManager flickManager;
@override
void initState() {
super.initState();
flickManager = FlickManager(videoPlayerController:
VideoPlayerController.asset('videos/first.mp4',),);
}
@override
void dispose() {
flickManager.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: FlickVideoPlayer(
flickManager: flickManager,
preferredDeviceOrientation: [
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft
],
systemUIOverlay: [],
flickVideoWithControls: FlickVideoWithControls(
controls: LandscapePlayerControls(),
),
),
);
}
}
我已将视频文件添加为 pubspec.yaml 文件中的依赖项。我不知道为什么它适用于网络文件但不适用于资产文件。
我解决了这个问题。 video_player plugin uses Exo player plugin in android which is not working correctly in some devices(due to decoders or something). An easy alternative is to go by native_video_view 插件。
我需要在我的应用程序中播放资产视频,但视频播放器插件一直在缓冲但没有播放视频。但是,如果我使用网络视频,那么代码将完美运行。
这是我的代码,
class LandscapePlayer extends StatefulWidget {
@override
_LandscapePlayerState createState() => _LandscapePlayerState();
}
class _LandscapePlayerState extends State<LandscapePlayer> {
FlickManager flickManager;
@override
void initState() {
super.initState();
flickManager = FlickManager(videoPlayerController:
VideoPlayerController.asset('videos/first.mp4',),);
}
@override
void dispose() {
flickManager.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: FlickVideoPlayer(
flickManager: flickManager,
preferredDeviceOrientation: [
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft
],
systemUIOverlay: [],
flickVideoWithControls: FlickVideoWithControls(
controls: LandscapePlayerControls(),
),
),
);
}
}
我已将视频文件添加为 pubspec.yaml 文件中的依赖项。我不知道为什么它适用于网络文件但不适用于资产文件。
我解决了这个问题。 video_player plugin uses Exo player plugin in android which is not working correctly in some devices(due to decoders or something). An easy alternative is to go by native_video_view 插件。