From 0e22ad0258891d4fec63bf584345d9f0854f048d Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Sun, 22 Dec 2024 13:43:14 +0800 Subject: [PATCH] perf(theme): improve `` --- docs/notes/theme/guide/嵌入/artplayer.md | 2 +- .../src/client/components/ArtPlayer.vue | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/docs/notes/theme/guide/嵌入/artplayer.md b/docs/notes/theme/guide/嵌入/artplayer.md index 4ceed4d8..725bb220 100644 --- a/docs/notes/theme/guide/嵌入/artplayer.md +++ b/docs/notes/theme/guide/嵌入/artplayer.md @@ -1,5 +1,5 @@ --- -title: artPlayer +title: ArtPlayer 视频 icon: icon-park-outline:video createTime: 2024/12/21 16:13:54 permalink: /guide/embed/video/artplayer/ diff --git a/plugins/plugin-md-power/src/client/components/ArtPlayer.vue b/plugins/plugin-md-power/src/client/components/ArtPlayer.vue index 6528c126..4ddb5793 100644 --- a/plugins/plugin-md-power/src/client/components/ArtPlayer.vue +++ b/plugins/plugin-md-power/src/client/components/ArtPlayer.vue @@ -23,15 +23,17 @@ const props = withDefaults(defineProps<{ playsInline: true, }) -const options = toRefs(props) const loaded = ref(false) - const lang = usePageLang() const brandColor = useCssVar('--vp-c-brand-1') -const { el, width, height, resize } = useSize(options) +const { el, width, height, resize } = useSize(toRefs(props)) + let player: ArtPlayer | null = null async function createPlayer() { + if (!el.value) + return + loaded.value = false const { default: ArtPlayer } = await import( /* webpackChunkName: "artplayer" */ 'artplayer' @@ -53,7 +55,7 @@ async function createPlayer() { } player = new ArtPlayer({ - container: el.value!, + container: el.value, url, type, ...{ @@ -108,10 +110,7 @@ function initCustomType(type: string): CustomType { customType[type] = async function (video, url, art) { const mpegts = (await import(/* webpackChunkName: "mpegts.js" */ 'mpegts.js/dist/mpegts.js')).default if (mpegts.isSupported()) { - const flv = mpegts.createPlayer({ - type: 'flv', - url, - }) + const flv = mpegts.createPlayer({ type: 'flv', url }) flv.attachMediaElement(video) flv.load() @@ -135,12 +134,17 @@ onUnmounted(() => {