5

シンプルなHTML5/WebGLアプリで、たまに効果音を鳴らしたいです。

現在、私はコンストラクターを持っています:

this.audio = new Audio('audio/zeep.mp3');

その後、ファイルを再生したいと思います。

this.audio.play();

最初は動作しますが、2回目の再生は失敗します。currentTimeをゼロに、また0.1にリセットしてみました。どちらも機能しません:

this.audio.currentTime = 0;
this.audio.play();

Audio再生するたびにオブジェクトを再作成すると、Chromeの[ネットワーク]タブに、ファイルをキャッシュから提供するのではなく、ネットワークを介してファイルを再フェッチしていることが示されます。

複数回同時に再生するのに同じ効果音は必要ないことに注意してください。この音はまれになります。

ここで何かが足りませんか?

4

1 に答える 1

1

オーディオ要素は再生できません。

オーディオ ファイルの http ヘッダーには、次のようなContent-Rangeが必要です。

Content-Range:bytes 0-5151/5152

シーク用に設計されています。

concurrency.use が必要な場合、1 つのオーディオ要素を同時に再生することはできません。

var copy = audio.cloneNode(); copy.play();

于 2014-09-11T17:33:31.123 に答える