ios端使用TCplayer直播播放三秒直接卡顿bug

  1. 查看配置项没问题

    复制代码
     setTcPlayer() {
       let that = this;
       player = new TcPlayer("videoPlayer", {
         live: this.activatPlayType == "livePlay" ? true : false,
         x5_type: "h5",
         x5_fullscreen: true,
         systemFullscreen: true,
         x5_orientation: 1,
         x5_player: true,
         flash: false,
         webrtc: this.liveRTCSrc,
         m3u8: this.liveSrc, //请替换成实际可用的播放地址
         autoplay: false, //iOS 下 safari 浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的
         width: that.fun.getPhoneEnv() != 3 ? window.innerWidth : "375", //视频的显示宽度,请尽量使用视频分辨率宽度
         height: this.liveHeight, //视频的显示高度,请尽量使用视频分辨率高度
         wording: {
           2032: "请求视频失败,请检查网络",
           2048: "请求m3u8文件失败,可能是网络错误或者跨域问题"
         },
         controls: "none",
         Flash: false,
         listener: function(msg) {
           // console.log(msg.type);
           if (msg.type == "loadeddata") {
             console.log("loadeddata===============");
             that.resizeH();
             // that.onPlayerPlay();
           }
           if (msg.type == "loadedmetadata") {
             // console.log("loadedmetadata==》》》》》",parseInt(player.video.el.duration));
             that.targetVideo.maxTime = parseInt(player.video.el.duration);
           }
           if (msg.type == "load") {
             timer_2 = setTimeout(() => {
               that.loadedVideoDataOk = true;
             }, 800);
           }
           if (msg.type == "error") {
             console.log("error::视频播放不了.....");
             Toast("该视频出现问题了!");
             that.show = true;
             that.loadedVideoDataOk = true;
             that.$set(that.liveList[that.activeSwiperIndex], "show", true);
           }
           if (msg.type == "play") {
             that.videoPlaying();
             clearInterval(timer_2);
           }
           if (msg.type == "playing") {
             that.songStop = false;
             that.isFirstPlay = true;
             // that.videoPlaying();
           }
           if (msg.type == "pause") {
             that.songStop = true;
           }
           if (msg.type == "timeupdate") {
             that.targetVideo.currentTime = player.video.el.currentTime;
             that.sliderTime = parseInt((that.targetVideo.currentTime / that.targetVideo.maxTime) * 100);
           }
         }
       });
     },

对比官方文档没发现什么问题

  1. 最后在代码里查看 发现初始化两个palyer播放器;考虑ios直播流时间戳时间比较严格;两个同时初始化渲染;会出现此问题;注释掉另一个可以正常播放。
相关推荐
老李IT笔记5 小时前
设备指纹由哪几个字段拼出来:换一块主板会变成新设备
ios·智能手机
andyweike6 小时前
iOS App 测试
ios·测试·ad hoc·分发
茶底世界之下15 小时前
花瓣要更柔和,还是更有反差?用 Awaking 做一次对比度取舍
ios
Anhty1 天前
2026最新免费手机音频处理工具 !!
android·功能测试·ios·智能手机·音视频
2501_915909062 天前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
初雪云2 天前
UniApp 云打包拿到 IPA 后,真正的发布工作才刚开始
ios·自动化·编辑器·产品经理·iphone
小此方2 天前
「插曲:Git」企业规范篇:DevOps开发模型、Git Flow五类分支设计与测试/预发布/生产环境Bug修复及Hotfix紧急发布流程
git·bug·devops
Lancker2 天前
没有 Mac 也能上架 iOS:GitHub Actions 全自动构建 + 签名 + TestFlight 送审实录
macos·ios·github
茶底世界之下2 天前
晚霞要多暖?用 Awaking 只改色温做一次取舍
ios
酒神dnspup2 天前
多地区网站可用性监控怎么做?DNSPup 从基线到告警的完整实战
运维·ios·云计算·iphone·dns·网络监控