14

同じAudioBufferSourceNodeものを使ってサウンドを複数回再生できるようにする必要がありますか?何らかの理由でnoteGrainOn、2回目の呼び出しでは、が介在していても音声が再生されませんnoteOff

このコードはサウンドを1回だけ再生します。

var node = audioContext.createBufferSource()
node.buffer = audioBuffer
node.connect(audioContext.destination)

var now = audioContext.currentTime
node.noteGrainOn(now, 0, 2)
node.noteOff(now + 2)
node.noteGrainOn(now + 3, 0, 2)
node.noteOff(now + 5)
4

2 に答える 2

22

ソース ノードを再生すると、それを再利用することはできません。AudioBufferSourceNode同じバッファで別のものを作成する必要があります。詳細については、Web Audio FAQを参照してください (noteOn() の質問を参照してください)。

于 2012-02-24T23:59:07.980 に答える
2

再生/一時停止を簡単に切り替えるためのハックがあります:)オーディオを既存のオーディオタグに直接マップして、そのコントロールを使用できます

<audio id="sound" src="./test.mp3" controls="controls"></audio>

var audioElement = document.getElementById('sound');
source = audioContext.createMediaElementSource(audioElement);
/* ... */
audioElement.pause();

ここで実行している私の例:http : //www.b2bweb.fr/bonus/Braincer/現在Chromeビルド18.0.xxxxを使用しています

その他の参照:

于 2012-03-23T17:26:06.727 に答える