import { onMounted, ref, watch, markRaw, computed } from 'vue' import MuiPlayer from 'mui-player' import 'mui-player/dist/mui-player.min.css' import './index.less' import { getValueByTemplate } from '@cip/utils/util' import { store } from '@cip/request' export default { props: { height: {}, autoplay: Boolean, src: {}, preload: String // ['none','auto'] }, setup (props) { const videoRef = ref() const instance = ref() const _src = computed(() => { return getValueByTemplate(props.src, store.apiConfig) }) const isPlay = ref(false) const play = () => { instance.value.video().play() isPlay.value = true } onMounted(() => { if (!props.preload || props.preload === 'auto') isPlay.value = true instance.value = markRaw(new MuiPlayer({ container: videoRef.value, src: _src.value, height: props.height || '750px', autoplay: props.autoplay, pageHead: false, preload: props.preload, customSetting: { show: false } })) }) watch(_src, (val) => { if (instance.value) { instance.value.reloadUrl(val) } }) return () =>
{!isPlay.value &&
play()}>
}
} }