【发布时间】:2020-06-15 12:05:30
【问题描述】:
请看一下这个简单的代码 -
const PlayPause = () => {
let sound = new Howl({
src: [
"https://..." // I have a link of an mp3 file stored in an S3 bucket
],
loop: true,
volume: 0.5
});
const [isPlaying, setIsPlaying] = useState(false);
return (
<div
className="volume main-box dummy-abs"
onClick={() => {
// Toggles play / pause
if (isPlaying) {
sound.pause();
setIsPlaying(false);
} else {
sound.play();
setIsPlaying(true);
}
}}
></div>
);
};
export default PlayPause;
我正在尝试为来自网络的咆哮音频文件流创建一个简单的播放/暂停切换。我所有的反应功能都工作正常。当我点击 div 时,播放正常,但暂停不正常。事实上,每当我点击播放时,它实际上会播放音频文件的多个实例。我在这里做错了什么吗?
【问题讨论】:
标签: reactjs html5-audio web-audio-api howler.js