当前位置: 首页 > news >正文

重庆推广网站排名价格网站建立的流程

重庆推广网站排名价格,网站建立的流程,装修设计培训学校,购物网站开发视频教程Flutter开发过程中#xff0c;对于视频播放的三方组件有很多#xff0c;在Android端适配都挺好#xff0c;但是在适配iPhone手机的时候#xff0c;如果设置了UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight都为false的情况下#xff0c;无法…Flutter开发过程中对于视频播放的三方组件有很多在Android端适配都挺好但是在适配iPhone手机的时候如果设置了UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight都为false的情况下无法做到全屏播放因为FLutter的SystemChrome.setPreferredOrientations方法不适配iOS端无法控制屏幕进行旋转下面我们看效果 在Android手机上效果 在IPhone手机上效果 我们可以看到当在iPhone手机上进行全屏播放的时候屏幕并没有旋转过来查阅了很多资料都没能很好的解决后来只能自己在iOS端用原生写了个播放器利用FLutter嵌入原生的开发模式来适配全屏播放 最终效果如下 如果有什么好的方法解决这个在iOS不能旋转屏幕的想法的欢迎在下方留言。。。。 下面贴出代码 1、FLutter视频播放器采用的是chewie 封装的播放器代码如下 import dart:io; import package:chewie/chewie.dart; import package:flutter/material.dart; // ignore: depend_on_referenced_packages import package:video_player/video_player.dart;class VideoPlayerWidget extends StatefulWidget {final String videoUrl;final bool fullScreenByDefault;const VideoPlayerWidget({super.key,required this.videoUrl,this.fullScreenByDefault false,});overrideStateVideoPlayerWidget createState() _VideoPlayerWidgetState(); }class _VideoPlayerWidgetState extends StateVideoPlayerWidget {late VideoPlayerController _videoPlayerController;ChewieController? _chewieController;int? bufferDelay;overridevoid initState() {super.initState();initializePlayer();}overridevoid dispose() {_videoPlayerController.dispose();_chewieController?.dispose();super.dispose();}ListString srcs [https://assets.mixkit.co/videos/preview/mixkit-spinning-around-the-earth-29351-large.mp4,https://assets.mixkit.co/videos/preview/mixkit-daytime-city-traffic-aerial-view-56-large.mp4,https://assets.mixkit.co/videos/preview/mixkit-a-girl-blowing-a-bubble-gum-at-an-amusement-park-1226-large.mp4];Futurevoid initializePlayer() async {//判断是本地视频还是网络请求下来的视频if (widget.videoUrl.contains(http)) {_videoPlayerController VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl));} else {_videoPlayerController VideoPlayerController.file(File(widget.videoUrl));}await Future.wait([_videoPlayerController.initialize(),]);_createChewieController();setState(() {});}void _createChewieController() {_chewieController ChewieController(videoPlayerController: _videoPlayerController,autoPlay: true,hideControlsTimer: const Duration(seconds: 10),allowPlaybackSpeedChanging: false,fullScreenByDefault: widget.fullScreenByDefault,);}overrideWidget build(BuildContext context) {return Container(color: const Color.fromRGBO(28, 34, 47, 1),width: MediaQuery.of(context).size.width - 20,height: 300,child: Center(child: _chewieController ! null _chewieController!.videoPlayerController.value.isInitialized? Chewie(controller: _chewieController!,): const Column(mainAxisAlignment: MainAxisAlignment.center,children: [CircularProgressIndicator(),SizedBox(height: 20),Text(Loading,style: TextStyle(color: Colors.white,),),],),),);} } 如果碰到Video Player UnimplementedError: init() has not been implemented的错误关闭App重新运行Flutter run就行了 视频播放链接https://assets.mixkit.co/videos/preview/mixkit-spinning-around-the-earth-29351-large.mp4 2、使用的时候区分了Android端和iOS端 body: Center(child: ElevatedButton(onPressed: () {showDialog(context: context,builder: (context) {return Dialog(insetPadding: const EdgeInsets.only(left: 0),child: Platform.isAndroid? const VideoPlayerWidget(videoUrl: videoUrl,) //Android视频播放器: SizedBox(width: MediaQuery.of(context).size.width,height: MediaQuery.of(context).size.width * 9 / 16,child: const UiKitView(viewType:plugins.flutter.io/custom_platform_view_plugin,creationParams: {videoUrl: videoUrl,},creationParamsCodec: StandardMessageCodec(),),), //iOS视频播放器);},);},child: const Text(点击播放视频),),),3、iOS端的代码用OC实现的只贴出文件目录需要的同学可以直接去GitHub上下载原代码 因为写视频播放器的时候用到了Masonry三方所有用户需要再Podfile里面加入pod Masonry然后cd到Runner目录下运行pod install安装Masonry 4、最后在AppDelegate.m里面注册一下 [FlutterViewRegistran registerWithRegistry:self]; 5、Git代码传送门 喜欢的同学欢迎帮忙点个star 简书传送门
http://www.dnsts.com.cn/news/170549.html

相关文章:

  • 西部网站管理助手基础网站怎么做
  • 服务类的网站怎么做网站开发工程师招聘信息
  • 在线商标免费设计长春seo
  • 做书封面的模板下载网站西城改版网站
  • 郑州网站优化排名推广asp网站后台验证码错误
  • 要屏蔽一个网站要怎么做网站开发中需要解决的技术问题
  • 太原0元网站建设如何做网站安全扫描
  • 同一产品做多个网站女子拿快递被感染新冠
  • 做流量网站百家号查询排名数据查询
  • 网站建设交流材料哪种源码做视频网站好用
  • 中国建设银行网站怎么登录不上网站开发实用技术相关论文
  • 网做 网站有哪些功能网页线上开发制作
  • iis 网站属性wordpress ico文件
  • 网站建设最基础是什么在线网页设计器
  • 漯河有没有做网站的网站设计公司如何盈利
  • 做产品类的工作上什么网站好常州网站建设技术托管
  • 云南网站开发创建网站需要什么
  • 做网站推广要会什么wordpress多站点设置
  • 广州seo网站推广顾问怎么做类似清风dj网站
  • 北京app网站建设电商运营培训学费多少
  • 网站建设零基础好学吗企业文化怎么写
  • 青岛福瀛建设集团有限公司网站杭州网站建设费用多少
  • 自己提供域名做网站用WordPress注册无响应
  • 校园网站建设教程百度手游app下载
  • 郑州做网站公司汉狮网跨境电商在哪些网站上面做
  • 如何做移动端网站做外贸网站应该关注哪些地方
  • 网站建设 动态添加内容网络媒体整合营销
  • 网站建设与维护心得体会百度经验app
  • 做得比较好的公司网站如果网站没有做icp备案会被处罚
  • dw做网站链接数据库广州公司注册代理机构哪家好