|
@@ -24,7 +24,7 @@ export default defineComponent({
|
|
default: false
|
|
default: false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- emits: ['loadedmetadata', 'togglePlay', 'ended', 'reset'],
|
|
|
|
|
|
+ emits: ['loadedmetadata', 'togglePlay', 'ended', 'reset', 'error'],
|
|
setup(props, { emit, expose }) {
|
|
setup(props, { emit, expose }) {
|
|
const { item, isEmtry } = toRefs(props);
|
|
const { item, isEmtry } = toRefs(props);
|
|
const videoFroms = reactive({
|
|
const videoFroms = reactive({
|
|
@@ -50,6 +50,14 @@ export default defineComponent({
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ // 如果视屏异常后,需要重新播放视屏
|
|
|
|
+ const onPlay = () => {
|
|
|
|
+ if (videoItem.value) {
|
|
|
|
+ videoItem.value.src(item.value.content);
|
|
|
|
+ emit('reset');
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+
|
|
//
|
|
//
|
|
const toggleHideControl = (isShow: false) => {
|
|
const toggleHideControl = (isShow: false) => {
|
|
videoFroms.showBar = isShow;
|
|
videoFroms.showBar = isShow;
|
|
@@ -107,9 +115,30 @@ export default defineComponent({
|
|
videoFroms.paused = true;
|
|
videoFroms.paused = true;
|
|
emit('ended');
|
|
emit('ended');
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ //
|
|
|
|
+ videoItem.value.on('pause', () => {
|
|
|
|
+ videoFroms.paused = true;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ videoItem.value.on('playing', () => {
|
|
|
|
+ videoFroms.paused = false;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // 视频播放异常
|
|
|
|
+ videoItem.value.on('error', (e: any) => {
|
|
|
|
+ emit('error');
|
|
|
|
+ console.log(e, 'error');
|
|
|
|
+ });
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+ const stop = () => {
|
|
|
|
+ videoItem.value.currentTime(0);
|
|
|
|
+ videoItem.value.pause();
|
|
|
|
+ };
|
|
expose({
|
|
expose({
|
|
|
|
+ onPlay,
|
|
|
|
+ stop,
|
|
// changePlayBtn,
|
|
// changePlayBtn,
|
|
toggleHideControl
|
|
toggleHideControl
|
|
});
|
|
});
|