|
@@ -22,29 +22,18 @@
|
|
|
|
|
|
|
|
const props = defineProps<{
|
|
const props = defineProps<{
|
|
|
url: string;
|
|
url: string;
|
|
|
- secMargin?: number;
|
|
|
|
|
}>();
|
|
}>();
|
|
|
|
|
|
|
|
const emit = defineEmits(['timeUpdate']);
|
|
const emit = defineEmits(['timeUpdate']);
|
|
|
|
|
|
|
|
- // /live/video/aa.flv?starttime=202410101001}
|
|
|
|
|
-
|
|
|
|
|
let player: mpegts.Player | null;
|
|
let player: mpegts.Player | null;
|
|
|
|
|
|
|
|
const loadingText = computed(() => {
|
|
const loadingText = computed(() => {
|
|
|
if (restartNum.value === 0) return '视频加载中...';
|
|
if (restartNum.value === 0) return '视频加载中...';
|
|
|
return `正在尝试第${restartNum.value}次重连...`;
|
|
return `正在尝试第${restartNum.value}次重连...`;
|
|
|
});
|
|
});
|
|
|
-
|
|
|
|
|
- let min = 0;
|
|
|
|
|
const handleTimeUpdate = (event) => {
|
|
const handleTimeUpdate = (event) => {
|
|
|
- if (props.secMargin !== undefined) {
|
|
|
|
|
- const currentTime = Math.floor(event.target.currentTime) + props.secMargin;
|
|
|
|
|
- if (currentTime > min && currentTime % 60 === 0) {
|
|
|
|
|
- min = currentTime;
|
|
|
|
|
- emit('timeUpdate');
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ emit('timeUpdate', event.target.currentTime);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const initPlay = () => {
|
|
const initPlay = () => {
|
|
@@ -61,11 +50,8 @@
|
|
|
},
|
|
},
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
- if (props.secMargin !== undefined) {
|
|
|
|
|
- min = 0;
|
|
|
|
|
- videoElement.removeEventListener('timeupdate', handleTimeUpdate);
|
|
|
|
|
- videoElement.addEventListener('timeupdate', handleTimeUpdate);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ videoElement.removeEventListener('timeupdate', handleTimeUpdate);
|
|
|
|
|
+ videoElement.addEventListener('timeupdate', handleTimeUpdate);
|
|
|
|
|
|
|
|
player.attachMediaElement(videoElement);
|
|
player.attachMediaElement(videoElement);
|
|
|
player.load();
|
|
player.load();
|