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

芙蓉区营销型网站建设定制网站ftp上传工具哪个好用

芙蓉区营销型网站建设定制,网站ftp上传工具哪个好用,毕业设计团购网站建设,东莞企业宣传片制作公司flutter开发实战-video_player播放多个视频MediaCodecVideoRenderer error问题 在开发过程中#xff0c;我这里使用video_player播放多个视频的时候#xff0c;出现了MediaCodecVideoRenderer error 一、使用video_player播放视频 使用video_player播放单个视频请查看 htt…flutter开发实战-video_player播放多个视频MediaCodecVideoRenderer error问题 在开发过程中我这里使用video_player播放多个视频的时候出现了MediaCodecVideoRenderer error 一、使用video_player播放视频 使用video_player播放单个视频请查看 https://blog.csdn.net/gloryFlow/article/details/132124837 这里记录一下解决多个视频MediaCodecVideoRenderer error问题。 二、在app/build.gradle下添加依赖 在app/build.gradle下添加依赖 dependencies{implementation com.google.android.exoplayer:exoplayer:2.17.1 }实现播放视频的Widget在播放测试过程中出现只能播放一个视频可以设置VideoPlayerOptions将VideoPlayerOptions的mixWithOthers设置为true。 Futurevoid waitVideoPlay() async {_controller?.dispose();_controller VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl),videoPlayerOptions: VideoPlayerOptions(mixWithOthers: true,allowBackgroundPlayback: false,),);await _controller?.initialize().then((_) {// Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.setState(() {});});await _controller!.setLooping(true);if (widget.autoPlay) {await _controller?.play();} else {await _controller?.pause();}}完整VideoPlayerWidget代码如下 import package:flutter/material.dart; import package:video_player/video_player.dart;// 视频播放测试 class VideoPlayerWidget extends StatefulWidget {const VideoPlayerWidget({Key? key,required this.videoUrl,required this.isLooping,this.autoPlay true,required this.width,required this.height,}) : super(key: key);final String videoUrl;final bool isLooping;final bool autoPlay;final double width;final double height;overrideStateVideoPlayerWidget createState() _VideoPlayerWidgetState(); }class _VideoPlayerWidgetState extends StateVideoPlayerWidget {VideoPlayerController? _controller;overridevoid initState() {super.initState();waitVideoPlay();}Futurevoid waitVideoPlay() async {_controller?.dispose();_controller VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl),videoPlayerOptions: VideoPlayerOptions(mixWithOthers: true,allowBackgroundPlayback: false,),);await _controller?.initialize().then((_) {// Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.setState(() {});});await _controller!.setLooping(true);if (widget.autoPlay) {await _controller?.play();} else {await _controller?.pause();}}overrideWidget build(BuildContext context) {if (_controller ! null _controller!.value.isInitialized) {return Container(width: widget.width,height: widget.height,child: AspectRatio(aspectRatio: _controller!.value.aspectRatio,child: VideoPlayer(_controller!),),);}return Container(width: widget.width,height: widget.height,color: Colors.orange,);}overridevoid dispose() {// TODO: implement dispose_controller?.dispose();super.dispose();} }三、video_player播放界面播放多个视频 在使用VideoPlayerWidget播放多个视频 Widget buildVideoContainer(BuildContext context) {Size screenSize MediaQuery.of(context).size;return Container(width: screenSize.width,height: screenSize.height,color: Colors.white,child: Wrap(spacing: 24.0.r, // 主轴(水平)方向间距runSpacing: 12.0.r, // 纵轴垂直方向间距alignment: WrapAlignment.center, //沿主轴方向居中children: buildVideoListWidget(context),),);}ListWidget buildVideoListWidget(BuildContext context) {ListWidget list [];for (int i 0; i 4; i) {String videoUrl videoList[i];VideoPlayerWidget widget VideoPlayerWidget(key: GlobalKey(),videoUrl: videoUrl,isLooping: true,width: 320.r,height: 480.r,delayDuration: Duration(seconds: i),);list.add(widget);}return list;}完整video_page代码如下 class VideoPage extends StatefulWidget {const VideoPage({super.key});overrideStateVideoPage createState() _VideoPageState(); }class _VideoPageState extends StateVideoPagewith AutomaticKeepAliveClientMixin {ListString videoList [];overridevoid initState() {// TODO: implement initStateinitVideoList();super.initState();}void initVideoList() {videoList.add(https://v-qiniu.laikeshuo.com/1648693943358lkGhcDwFQzw3Ix266OsW7WWkzhY0.mp4);videoList.add(https://v-qiniu.laikeshuo.com/833134651693235939767);videoList.add(https://v-qiniu.laikeshuo.com/fb52e680058440a8b220ff7d2d555632);videoList.add(https://v-qiniu.laikeshuo.com/f6967489119040319a5fdda8be3e5662);videoList.add(https://v-qiniu.laikeshuo.com/7364b2eb14d54234b205d77147106b7f);videoList.add(https://v-qiniu.laikeshuo.com/ceee6bedf4814fbcaf4178ea5fb84fc0);videoList.add(https://v-qiniu.laikeshuo.com/3f7a60531042461eb10bf29f0c31ec6b);videoList.add(https://v-qiniu.laikeshuo.com/515211835007418da0e6b26425de907c);videoList.add(https://v-qiniu.laikeshuo.com/0bd0eaf2d30e4a66a4d7a5eb9970ed2a);videoList.add(https://v-qiniu.laikeshuo.com/35b2548bcf5140bc93425dcd69054294);videoList.add(https://v-qiniu.laikeshuo.com/3f7a60531042461eb10bf29f0c31ec6b);// videoList// .add(https://dphoto.qiniu.laikeshuo.com/bc7a2df5143a4d3a84c8a8407b22e933.mp4);// videoList// .add(https://dalat-qiniu.laikeshuo.com/31c5040167ec43168d7ec80c9bf33104.mp4);}overridevoid dispose() {// TODO: implement disposesuper.dispose();}overrideWidget build(BuildContext context) {return Scaffold(body: ProviderWidgetVideoModel(model: VideoModel(),onModelReady: (model) model.initData(),builder: (context, model, child) {if (model.isBusy) {return Container();} else if (model.isError) {return Container();} else if (model.isEmpty) {return Container();}return buildVideoContainer(context);},),);}Widget buildVideoContainer(BuildContext context) {Size screenSize MediaQuery.of(context).size;return Container(width: screenSize.width,height: screenSize.height,color: Colors.white,child: Wrap(spacing: 24.0.r, // 主轴(水平)方向间距runSpacing: 12.0.r, // 纵轴垂直方向间距alignment: WrapAlignment.center, //沿主轴方向居中children: buildVideoListWidget(context),),);}ListWidget buildVideoListWidget(BuildContext context) {ListWidget list [];for (int i 0; i 4; i) {String videoUrl videoList[i];VideoPlayerWidget widget VideoPlayerWidget(key: GlobalKey(),videoUrl: videoUrl,isLooping: true,width: 320.r,height: 480.r,delayDuration: Duration(seconds: i),);list.add(widget);}return list;}override// TODO: implement wantKeepAlivebool get wantKeepAlive true; }经过测试发现播放多个视频播放三个正常多于三个时候会报告如下错误。我使用的是低配置的Android主板设备性能差 [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(VideoError, Video player had error x0.q: MediaCodecVideoRenderer error, index0, formatFormat(1, null, null, video/avc, avc1.64001E, -1, null, [1080, 1920, 30.0], [-1, -1]), format_supportedYES, null, null) 三、小结 flutter开发实战-video_player播放多个视频MediaCodecVideoRenderer error问题。 https://blog.csdn.net/gloryFlow/article/details/132676760 学习记录每天不停进步。
http://www.zqtcl.cn/news/464907/

相关文章:

  • 网站未备案怎么访问做网站图片教程
  • 温州专业营销网站建设网络建设解决方案
  • 滨州网站建设 远洋科技网站需求建设书
  • 知道网站域名怎么联系域名解析不成功是什么意思
  • 武宁网站ui专业设计wordpress评论通知代码6
  • thymeleaf做网站 seo重庆平台网站建设找哪家
  • WordPress子站站群建筑工程网上申请质量安全监督
  • 怎么给网站添加图标山西手机版建站系统哪家好
  • frontpage网页制作视频教程昆明网站建设优化企业
  • 工信部 诚信网站备案公司网络营销方案
  • 网站开发采集工具如何做网站内链优化
  • 在线做英语题的网站揭阳建站服务
  • 网站非法篡改wordpress的知名网站
  • 保定网建站模板uv推广平台
  • 股权分配系统建设网站wordpress mip 模板
  • 网站及其建设的心得体会昆明云南微网站
  • 详情页在线设计网站推荐广州建设网站企业
  • 设计师网站建设哪家网络公司做网站
  • 宣城网站开发专业制注册资金写100万后悔
  • 专业的高密做网站的建公司网站要多久
  • 蚌埠做网站哪家好WordPress强制ssl
  • 1m宽带做网站平台建站
  • 学习做ppt 的网站班会活动设计方案模板
  • 廊坊住房和城乡建设厅网站门户网站开发招标
  • 免费下载网站设计方案wordpress zenmeyong
  • 网站建设与维护相关知识网站建设遵循的规范
  • 网站建设费科目东莞市塘厦镇
  • 网站建设策划书1万字深圳公司网站设计企业
  • 建设企业网站小微asp iis设置网站路径
  • 分类信息网站营销小程序appid是什么