Flutter 视频播放器 [chewie ]

  video_player: ^2.3.0
  chewie: ^1.3.1

用此库必须也引入video_player这个官方的库。

// ChewieController({
// required this.videoPlayerController,//视频播放器控制器
  
videoPlayerController 【说明】
// {
// VideoPlayerController.network('dataSource');
// VideoPlayerController.asset('dataSource');
// VideoPlayerController.file('dataSource');
// VideoPlayerController.contentUri('dataSource');

例子:
{
  _videoPlayerController = VideoPlayerController.network(
          //视频地址
          'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4',
          //视频选项
          videoPlayerOptions: VideoPlayerOptions(
              //允许后台播放
              allowBackgroundPlayback: false,
              //将此设置为 true 以将视频播放器音频与其他音频源混合。默认值为 false 注意:该选项在 web 平台中将被静默忽略(目前在此平台中没有办法实现此功能)。
              mixWithOthers: false));

      ///{属性}
      await _videoPlayerController.closedCaptionFile; //隐藏式字幕文件
      await _videoPlayerController.dataSource; //数据源
      await _videoPlayerController.dataSourceType; //数据源类型
      await _videoPlayerController.formatHint; //格式提示
      await _videoPlayerController.httpHeaders; //http 标头
      await _videoPlayerController.package; //包裹
      await _videoPlayerController.videoPlayerOptions; //视频播放器选项
      ///{异步方法}
      await _videoPlayerController.initialize(); //初始化
      await _videoPlayerController.dispose(); //关闭
      await _videoPlayerController.pause(); //暂停
      await _videoPlayerController.play(); //播放
      await _videoPlayerController.setCaptionOffset(position); //设置字幕偏移
      await _videoPlayerController.setLooping(position); //设置循环
      await _videoPlayerController.setPlaybackSpeed(position); //设置播放速度
      await _videoPlayerController.setVolume(position); //设置音量
      await _videoPlayerController.seekTo(
          position); //将视频的当前时间戳设置为 [moment{片刻}]。下次播放视频时,它将从给定的 [时刻] 恢复。如果 [moment{片刻}] 超出视频的完整范围,它将被自动且无声地钳制。
      ///{方法}
      _videoPlayerController.notifyListeners(); //通知监听器
      _videoPlayerController.addListener(() {}); //添加监听器
      _videoPlayerController.removeListener(() {}); //移出监听器
}




// }

// this.optionsTranslation,//选项翻译
// this.aspectRatio,//纵横比
// this.autoInitialize = false,//自动初始化
// this.autoPlay = false,//自动播放
// this.startAt,//开始于
// this.looping = false,//循环
// this.fullScreenByDefault = false,//默认全屏
// this.cupertinoProgressColors,//库比蒂诺进步颜色
// this.materialProgressColors,//材料进度颜色
// this.placeholder,//占位符
// this.overlay,//覆盖
// this.showControlsOnInitialize = true,//初始化时显示控件
// this.showOptions = true,//显示选项
// this.optionsBuilder,//选项生成器
// this.additionalOptions,//其他选项
// this.showControls = true,//显示控件
// this.zoomAndPan = false,//缩放和平移
// this.maxScale = 2.5,//最大比例
// this.subtitle,//字幕
// this.subtitleBuilder,//字幕生成器
// this.customControls,//自定义控件
// this.errorBuilder,//错误生成器
// this.allowedScreenSleep = true,//允许屏幕睡眠
// this.isLive = false,//正在直播
// this.allowFullScreen = true,//允许全屏
// this.allowMuting = true,//允许静音
// this.allowPlaybackSpeedChanging = true,//允许播放速度更改
// this.useRootNavigator = true,//使用根导航器
// this.playbackSpeeds = const [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2],//播放速度
// this.systemOverlaysOnEnterFullScreen,//系统覆盖进入全屏
// this.deviceOrientationsOnEnterFullScreen,//进入全屏时的设备方向
// this.systemOverlaysAfterFullScreen = SystemUiOverlay.values,//全屏后系统叠加
// this.deviceOrientationsAfterFullScreen = DeviceOrientation.values,//全屏后的设备方向
// this.routePageBuilder,//路线页面构建器
// })
ChewieController 【方法】
{
   ///{方法}
      _controller.isFullScreen; //是全屏
      _controller.isPlaying; //正在播放
      _controller.toggleFullScreen(); //切换全屏
      _controller.togglePause(); //切换暂停
      _controller.enterFullScreen(); //进入全屏
      _controller.exitFullScreen(); //退出全屏
      _controller.notifyListeners(); //通知监听器
      _controller.copyWith(); //复制
      _controller.notifyListeners(); //通知监听器


      _controller.setSubtitle(newSubtitle); //设置字幕
      _controller.setVolume(newSubtitle); //设置音量
      _controller.setLooping(newSubtitle); //设置循环
      _controller.seekTo(newSubtitle); //将视频的当前时间戳设置为 [moment{片刻}]。下次播放视频时,它将从给定的 [时刻] 恢复。如果 [moment{片刻}] 超出视频的完整范围,它将被自动且无声地钳制。

}


THE END
喜欢就支持一下吧
点赞11 分享