fix: 播放按钮状态延迟到 audio.play() resolve 后再设置,避免提前显示暂停图标

This commit is contained in:
小鱼开发
2026-04-22 09:39:15 +08:00
parent 6272c7f247
commit 0c2558714e
@@ -523,9 +523,12 @@ export default function VoiceMaterialLibrary() {
setPlayingId(null);
const audio = new Audio(m.sourceUrl);
audio.onended = () => setPlayingId(null);
audio.play().catch(() => setPlayingId(null));
audioRef.current = audio;
setPlayingId(m.id);
audio.play().then(() => {
setPlayingId(m.id);
}).catch(() => {
setPlayingId(null);
});
}
}}
title={playingId === m.id ? '暂停' : '播放'}