Commit 650d8ce0 by haojie

video偶尔会闪屏的问题

parent 28a22dd5
......@@ -22,7 +22,7 @@
class="video-default"
:src="video2"
@ended="secondVideoEnded"
@canplay="canplay2"
@canplaythrough="canplay2"
></video>
<!-- 动作 -->
<video
......@@ -31,7 +31,7 @@
class="video-default"
:src="actionVideo"
@ended="actionVideoEnded"
@canplay="actionCanplay"
@canplaythrough="actionCanplay"
></video>
<!-- 结束动作 -->
<video
......@@ -39,6 +39,7 @@
ref="videoEndAction"
class="video-default"
:src="actionEndVideo"
@canplaythrough="actionEndCanplay"
@ended="actionEndVideoEnded"
></video>
<ConfirmDialog
......@@ -227,7 +228,7 @@ const confirm = () => {
findLastAction();
if (isDev()) {
// 测试将视频进度改为160
// videoFirst.value[currentPlayMainIndex.value].currentTime = 170;
videoFirst.value[currentPlayMainIndex.value].currentTime = 170;
}
};
......@@ -273,7 +274,6 @@ const findLastAction = () => {
if (!endVideoIsMain && typeof currentPlayMainIndex.value === 'number') {
const actionUrl = realVideoList[mainVideoList[currentPlayMainIndex.value].videoIndex].actionUrl;
actionEndVideo.value = actionUrl[actionUrl.length - 1].url;
console.log(actionEndVideo.value, '找到结束动作视频了');
}
};
......@@ -435,6 +435,10 @@ const actionCanplay = () => {
}
};
const actionEndCanplay = () => {
console.log('结束动作可以播放');
};
const secondPlay = () => {
mainVideoPlayChange(false);
videoSecond.value?.play();
......@@ -534,15 +538,20 @@ watch(
);
const updateTime = () => {
let row = videoFirst.value[currentPlayMainIndex.value];
// 获取当前下标的total
const { mainVideoList } = props;
let total = mainVideoList[currentPlayMainIndex.value].total;
if (total) {
// 计算百分比
emit('update:progress', Math.floor((row.currentTime / total) * 100));
// 提交当前进度
emit('currentTime', currentPlayMainIndex.value, row.currentTime);
try {
let row = videoFirst.value[currentPlayMainIndex.value];
// 获取当前下标的total
const { mainVideoList } = props;
let total = mainVideoList[currentPlayMainIndex.value].total;
if (total) {
// 计算百分比
emit('update:progress', Math.floor((row.currentTime / total) * 100));
// 提交当前进度
emit('currentTime', currentPlayMainIndex.value, row.currentTime);
}
} catch (e) {
console.log('updateTime');
console.log(e);
}
};
// 减小正在播放的视频音量
......
......@@ -278,34 +278,39 @@ export default function () {
// 当前播放进度变化
const currentTimeChange = (index: number, value: number) => {
// console.log(value, '当前主视频进度');
let row = mainVideoList.value[index];
// 剩余多少没有播放
let currentEsidueTime = row.total - value;
let currentVideoRow = realVideoList.value[row.videoIndex];
// 更新当前进度
currentVideoRow.current = value;
// 低于设置的值、没有开始洗稿、有文本内容 、必须是文本脚本
if (
currentEsidueTime < esidueTime &&
currentVideoRow.confuse === CONFUSE_STATUS.CONFUSE_STATUS_WAIT &&
liveDetail.value.type_content.length &&
typeof liveDetail.value.phonetic_timbres_id === 'number' &&
typeof liveDetail.value.tone_id === 'number' &&
liveDetail.value.is_disorganize &&
liveDetail.value.type == scriptTypeText &&
!stopConfuse.value
) {
console.log(row.videoIndex, '当前videoIndex');
currentVideoRow.confuse = CONFUSE_STATUS.CONFUSE_STATUS_PROGRESS;
console.log('直播开始洗稿');
// 开始洗稿
submitConfuse();
}
try {
// console.log(value, '当前主视频进度');
let row = mainVideoList.value[index];
// 剩余多少没有播放
let currentEsidueTime = row.total - value;
let currentVideoRow = realVideoList.value[row.videoIndex];
// 更新当前进度
currentVideoRow.current = value;
// 低于设置的值、没有开始洗稿、有文本内容 、必须是文本脚本
if (
currentEsidueTime < esidueTime &&
currentVideoRow.confuse === CONFUSE_STATUS.CONFUSE_STATUS_WAIT &&
liveDetail.value.type_content &&
liveDetail.value.type_content.length &&
typeof liveDetail.value.phonetic_timbres_id === 'number' &&
typeof liveDetail.value.tone_id === 'number' &&
liveDetail.value.is_disorganize &&
liveDetail.value.type == scriptTypeText &&
!stopConfuse.value
) {
console.log(row.videoIndex, '当前videoIndex');
currentVideoRow.confuse = CONFUSE_STATUS.CONFUSE_STATUS_PROGRESS;
console.log('直播开始洗稿');
// 开始洗稿
submitConfuse();
}
// 判断是否需要取之前的主视频
if (currentEsidueTime < 20 && typeof currentPlayMainIndex.value === 'number') {
findOneVideoInit();
// 判断是否需要取之前的主视频
if (currentEsidueTime < 20 && typeof currentPlayMainIndex.value === 'number') {
findOneVideoInit();
}
} catch (e) {
console.log(e);
}
};
......@@ -580,13 +585,18 @@ export default function () {
// {
// url: 'http://yunyi-live.oss-cn-hangzhou.aliyuncs.com/upload/2/2023-08-217a51d89c-1a9f-476b-950c-f81d0423b816.mp4',
// type: 3,
// play_time: 15,
// play_time: 10,
// },
// 动作视频
// {
// url: 'http://yunyi-live.oss-cn-hangzhou.aliyuncs.com/upload/2/2023-08-2192d4a904-c78a-4a87-9728-d93bb40cad77.mp4',
// type: 3,
// play_time: 172,
// },
{
url: 'http://yunyi-live.oss-cn-hangzhou.aliyuncs.com/upload/2/2023-08-2192d4a904-c78a-4a87-9728-d93bb40cad77.mp4',
url: 'http://yunyi-live.oss-cn-hangzhou.aliyuncs.com/upload/2/2023-08-217a51d89c-1a9f-476b-950c-f81d0423b816.mp4',
type: 3,
play_time: 30,
play_time: 172,
},
{
url: url,
......@@ -803,6 +813,10 @@ export default function () {
StartIntervalMainVideo();
}
} else {
writeLog({
name: 'mergeCallback 回调格式错误',
value: params,
});
console.log('回调格式错误');
console.log(params);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment