import { defineComponent, Transition, Teleport, onMounted, onUnmounted } from 'vue' import runtime, * as RuntimeUtils from '/src/pages/detail/runtime' import detailState from '/src/pages/detail/state' import { Button } from 'vant' import { evaluatingRef, startButtonShow } from './' import ButtonIcon from './icon' import { useMenu, useWiredHeadsetCheck } from '../uses' import styles from './index.module.less' export default defineComponent({ name: 'ButtonsPlayer', setup() { const [wiredStatus] = useWiredHeadsetCheck() const reset = () => { if (detailState.activeTick > -1) { return } RuntimeUtils.setCurrentTime(0) RuntimeUtils.ended(new Event('ended')) } // 播放进入的圆周长 const circleLength = Math.floor(2 * Math.PI * 16) const changePlay = (res: any) => { if (res?.data?.api === 'setPlayState') { console.log('父页面的切换事件', res.data, runtime.playState) if (runtime.playState == 'play') { RuntimeUtils.setPlayState() } RuntimeUtils.stopTick() reset() } } onMounted(() => { window.addEventListener('message', changePlay) }) onUnmounted(() => { window.removeEventListener('message', changePlay) }) return () => { const playProgress = (runtime.currentTimeNum / runtime.durationNum) * circleLength return (
{!runtime.evaluatingStatus && ( <> {(runtime.playState === 'pause' || runtime.playState === 'suspend') && runtime.currentTimeNum > 0 && !detailState.sectionStatus && ( )} )}
) } }, })