私のhtmlにオーディオタグがあり、その中に.wavが入っています。 Javascriptでは、オーディオタグを選択してwavを再生します。これはキーボードのキーを使ってトリガーします。 私が達成しようとしているのは、たとえば各Aキーを押すと、最初から.wavを再生/再生します)Javascriptでオーディオを一時停止すると「ポップノイズ」が鳴る
オーディオの再生は問題なく動作します一時停止する。しかし、私はポップノイズを取得し、再生中の.wavを直接中断します。
var audio = document.getElementById(sound);
if (!isPlaying(audio)) {
audio.play(); // works
} else {
audio.pause(); // pops on this line; I checked with commenting below lines.
audio.currentTime = 0;
audio.play();
}
私はthis answerを見つけた、と私は即座に0にボリュームを設定するので、私の知る限り理解し、それが起こっています。私の場合は分かりませんでした。私はまた、audio.muted = true
を見つけ
良いアプローチをするsetIntervalとフェーダーをされていない使用して、ボリュームを一時停止する前にそれを使用してみました(とだけオーディオを再生する前にaudio.muted = false
を使用)が、これはまた、ポップノイズを与えると信じて
更新:
私はこの問題を回避するためにフェードアウトを使用する必要があると思います。オーディオを即座にフェードアウトさせる方法はありますか?
に
volume
プロパティをアニメーション化する.animate()
を使用することができないのはなぜ*良い方法はないでしょうか? –私は言ったように私は確信していません。私は3秒のオーディオだけでなく、0.2秒のショットを再生する必要があります。だから私は間隔を設定し、それに応じてフェードアウトをトリガーすると、3秒と0.2秒の両方のオーディオに対応するジェネリックコードが得られないと思ったのです。それが良いアプローチであれば、明確にしてください。 – senty