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);
}
}
});
},
对比官方文档没发现什么问题
2. 最后在代码里查看 发现初始化两个palyer播放器;考虑ios直播流时间戳时间比较严格;两个同时初始化渲染;会出现此问题;注释掉另一个可以正常播放。