Web オーディオを使用する場合、作成したすべてのサウンドをグローバルに作成された 1 つに接続し、gainNode
そのノードを使用して「マスター ボリューム」プロパティを設定できます。これは、マスター ボリュームをオンザフライで変更し、すべてのサウンドに即座に影響を与えたい場合に非常に便利です。
今、私は同じことを達成しようとしていますが、playbackRate
. 参考までに: これは、パワーアップを使用して時間を遅くすることができる Web ゲームの場合で、すべての音楽とサウンドも遅くなります。
私が作成する各サウンドはAudioBufferSourceNode
、一連の処理ノードにリンクされています。AudioBufferSourceNode
これで、 the自体にplaybackRate
変更可能なプロパティがあることがわかりました。これは素晴らしいことですが、その場で「グローバル再生レート」を変更したい場合はAudioBufferSourceNodes
、作成したものすべてをキャッシュし、それらをループして変更する必要があります。playbackRate
global と同じ方法でこれを達成できれば完璧ですがgainNode
、それを行う方法が見つかりませんでした。
そのような機能を実装する適切な方法は何でしょうか? 作成されたすべて (数千になる可能性があります) をキャッシュAudioBufferSourceNodes
し、それらをループすることをお勧めしますか? それが HTML5 Audio でこれを行う方法ですが、はるかに高度な Web Audio ではハッキーに思えます。
さらに詳しい情報が必要な場合は、お問い合わせください。質問を更新します。