diff --git a/src/components/qishier/QishierVideoPlayer.vue b/src/components/qishier/QishierVideoPlayer.vue index 77c4e45..6935f9c 100644 --- a/src/components/qishier/QishierVideoPlayer.vue +++ b/src/components/qishier/QishierVideoPlayer.vue @@ -11,7 +11,7 @@ import Hls from 'hls.js' import type { EpisodeData } from '@/api/qishier' import { getEpisodeProgress, saveEpisodeProgress } from '@/utils/playHistory' -interface ArtplayerWithHls extends Artplayer { +type ArtWithHls = Artplayer & { hls?: Hls } @@ -25,8 +25,8 @@ const emit = defineEmits<{ endedNext: [] }>() -const playerRef = ref(null) -let art: ArtplayerWithHls | null = null +const playerRef = ref(null) +let art: ArtWithHls | null = null function destroyPlayer() { if (art?.hls) { @@ -61,12 +61,12 @@ function buildPlayer(episode: EpisodeData) { mutex: true, theme: '#f5c542', moreVideoAttr: { - playsinline: 'true', - webkitPlaysinline: 'true', - x5Playsinline: 'true' - }, + playsInline: true + } as any, customType: { - m3u8(video: HTMLVideoElement, url: string, artplayer: ArtplayerWithHls) { + m3u8(video: HTMLVideoElement, url: string, artInstance: Artplayer) { + const artplayer = artInstance as ArtWithHls + if (Hls.isSupported()) { const hls = new Hls() artplayer.hls = hls @@ -79,7 +79,7 @@ function buildPlayer(episode: EpisodeData) { } } } - }) as ArtplayerWithHls + }) as ArtWithHls art.type = 'm3u8' @@ -132,7 +132,7 @@ watch( watch( () => props.autoNext, () => { - // 这里只是响应式依赖,让 ended 逻辑读取最新值 + // 让 ended 事件读取最新 autoNext 值 } )