From c121800d80bfb0a759854ebec2cc7fe6ce15d12b Mon Sep 17 00:00:00 2001 From: lyswhut Date: Fri, 24 Mar 2023 20:25:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=80=9A=E7=9F=A5=E6=A0=8F?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E9=80=9F=E7=8E=87=E6=9B=B4=E6=96=B0=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/player/playList.ts | 4 ++-- .../SettingPopup/settings/SettingPlaybackRate.tsx | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/player/playList.ts b/src/plugins/player/playList.ts index 3d88559..7aec8e4 100644 --- a/src/plugins/player/playList.ts +++ b/src/plugins/player/playList.ts @@ -106,8 +106,8 @@ export const getCurrentTrack = async() => { return list[currentTrackIndex] } -export const updateMetaData = async(musicInfo: LX.Player.MusicInfo, isPlay: boolean) => { - if (isPlay == isPlaying) { +export const updateMetaData = async(musicInfo: LX.Player.MusicInfo, isPlay: boolean, force = false) => { + if (!force && isPlay == isPlaying) { const duration = await TrackPlayer.getDuration() // console.log('currentIsPlaying', prevDuration, duration) if (prevDuration != duration) { diff --git a/src/screens/PlayDetail/components/SettingPopup/settings/SettingPlaybackRate.tsx b/src/screens/PlayDetail/components/SettingPopup/settings/SettingPlaybackRate.tsx index d095ed1..e0c66a2 100644 --- a/src/screens/PlayDetail/components/SettingPopup/settings/SettingPlaybackRate.tsx +++ b/src/screens/PlayDetail/components/SettingPopup/settings/SettingPlaybackRate.tsx @@ -8,9 +8,10 @@ import Slider, { type SliderProps } from '@/components/common/Slider' import { updateSetting } from '@/core/common' import { useI18n } from '@/lang' import styles from './style' -import { setPlaybackRate } from '@/plugins/player' +import { setPlaybackRate, updateMetaData } from '@/plugins/player' import { setPlaybackRate as setLyricPlaybackRate } from '@/core/lyric' import ButtonPrimary from '@/components/common/ButtonPrimary' +import playerState from '@/store/player/state' const Volume = () => { @@ -35,10 +36,13 @@ const Volume = () => { const rate = value / 100 void setLyricPlaybackRate(rate) updateSetting({ 'player.playbackRate': rate }) + void updateMetaData(playerState.musicInfo, playerState.isPlay, true) } const handleReset = () => { setSliderSize(100) - void setPlaybackRate(1) + void setPlaybackRate(1).then(() => { + void updateMetaData(playerState.musicInfo, playerState.isPlay, true) + }) void setLyricPlaybackRate(1) updateSetting({ 'player.playbackRate': 1 }) }