ユーザーがクリックすると音が鳴るサイトを作りました。音が重ならないようにするには、コードを追加する必要がありました。
n.pause();
n.currentTime = 0;
n.play();
ただし、これによりエラーが発生します。
The play() request was interrupted by a call to pause()
サウンドイベントがトリガーされるたびに、別のトリガーの直後に起動します。サウンドは引き続き正常に再生されますが、このエラーメッセージが常にポップアップするのを防ぎたいと思います。何か案は?
onCanPlay()
。これらすべての答えは汚いハックです。
n.play()
その後 しようとしたn.pause()
。そのため、このWeb Fundamentalsの記事でソリューションについて説明します。tl; dr:n.play().then(() => { n.pause()})