Flutter:video_player视频播放插件使用

一、网络权限配置:

1.Android网络权限(工程/android/app/src/main/AndroidManifest.xml):

<manifest ...>
    ...
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

二、视频播放:

1.添加video_player插件依赖,在pubspec.yaml中:

dependencies:
  video_player: ^2.4.7      #官方视频播放插件

2.实现简单视频播放功能:

late VideoPlayerController videoControl;
...
void initState() {
  ...
  videoControl = VideoPlayerController.network( //创建视频控制器,设置视频URL
      'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4')
    ..initialize().then((_) { //视频初始化后显示第一帧
      setState(() {});
    });
}
...
Widget build(BuildContext context) {
  return Scaffold(..., body: genVidoWidget());  //显示视频Widget
}
//创建视频Widget
Widget genVidoWidget() {
  return videoControl.value.isInitialized ?
        //视频已初始化时显示视频Widget,InkWell包装Widget后,可添加点击事件
        InkWell(child: AspectRatio(aspectRatio: videoControl.value.aspectRatio, child: VideoPlayer(videoControl)),
          onTap: () { //监听视频点击事件,控制播放或暂停
            startOrPause();
          },
        )
         //视频未初始化时显示加载中Widget
      : CircularProgressIndicator();
}
//播放或暂停
void startOrPause() {
  setState(() {
    videoControl.value.isPlaying ? videoControl.pause() : videoControl.play();
  });
}
...
void dispose() {
  ...
  videoControl.dispose(); //释放视频资源
}


 

猜你喜欢

转载自blog.csdn.net/a526001650a/article/details/127762969