reactjs - 在 React 中的 audio.play() 之后 audio.pause() 不起作用
问题描述
我想这样做,如果我在播放音频后再次按下,它将停止。但是, audio.pause() 没有响应。另外,我尝试使用useCallback
,但这也不起作用。
const [played, setPlayed] = useState(false)
const audio = new Audio(src)
const playMessage = () => {
setPlayed(!played)
if (played) {
audio.pause()
audio.currentTime = 0
} else {
audio.play()
}
}
解决方案
我认为您每次重新渲染时都会创建新的音频对象。你能试一下吗
const audio = useMemo(() => new Audio(src), [src]);