| | |
| | | </div> |
| | | <div class="flex items-center"> |
| | | <div class="sound-animate relative"> |
| | | <i class="ywicon icon-maikefeng-filled !text-[26px] absolute -left-10 top-[5px]"></i> |
| | | <i class="ywifont ywicon-maikefeng-filled !text-[26px] absolute -left-10 top-[5px]"></i> |
| | | <span :style="{ 'animation-play-state': animationPlayState }"></span |
| | | ><span :style="{ 'animation-play-state': animationPlayState }"></span |
| | | ><span :style="{ 'animation-play-state': animationPlayState }"></span |
| | |
| | | |
| | | <div class="flex items-center justify-between bottom-16 absolute left-1/2 -translate-x-1/2 space-x-16"> |
| | | <div class="size-[35px] flex items-center justify-center bg-[#292929] rounded-full cursor-pointer" @click="togglePlayClick"> |
| | | <i class="ywicon !text-[16px]" :class="playIcon"></i> |
| | | <i class="ywifont !text-[16px]" :class="playIcon"></i> |
| | | </div> |
| | | <div class="size-[56px] flex items-center justify-center bg-red-500 rounded-full cursor-pointer" @click="closeClick"> |
| | | <i class="ywicon icon-guanbi !text-[26px]"></i> |
| | | <i class="ywifont ywicon-guanbi !text-[26px]"></i> |
| | | </div> |
| | | <div class="size-[35px] flex items-center justify-center bg-[#292929] rounded-full cursor-pointer"> |
| | | <i class="ywicon icon-gengduo !text-[23px]"></i> |
| | | <i class="ywifont ywicon-gengduo !text-[23px]"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | const animationPlayState = ref<'paused' | 'running'>('running'); |
| | | |
| | | const playIcon = computed(() => (animationPlayState.value === 'running' ? 'icon-zanting' : 'icon-bofang')); |
| | | const playIcon = computed(() => (animationPlayState.value === 'running' ? 'ywicon-zanting' : 'ywicon-bofang')); |
| | | const isSpeak = ref(false); |
| | | const togglePlayClick = () => { |
| | | animationPlayState.value = animationPlayState.value === 'running' ? 'paused' : 'running'; |