Web Audio APIにより、開発者はJavaScriptを使用して洗練されたオーディオ処理をWebページに直接統合し、プラグインの必要性を排除できます。 これは、低帯域幅ネットワークを介して頻繁にアクセスできるWebアプリケーションにとって特に有益です。これは、さまざまな波形を使用してサウンド合成を可能にするため、事前に記録されたオーディオと比較してファイルサイズが小さくなります。
出典:mdn
主要な機能とブラウザのサポート:
Web Audio APIは、Chrome、Edge、Firefox、Opera、Safariなどの主要なブラウザで幅広いサポートを享受しています(ただし、Safariのサポートは執筆時点で実験的であり、WebKitプレフィックスが必要になる場合があります)。 APIのコアはコンストラクターであり、さまざまなAudioContext
を作成および接続する方法を提供します。これらのノードは、AudioNodes
インターフェイスに準拠しており、AudioNode
メソッドを使用して複雑なオーディオグラフを作成して連鎖させることができます。
connect()
(こちらのブラウザの互換性を確認してください)を使用できますか?
オーディオグラフの構築:3つのカテゴリに分類されます:
AudioNodes
MP3
効果ノード:GainNode
Panning
宛先ノード:AudioContext.destination
次の例では、AudioBufferSourceNode
CodePenデモ:WebオーディオAPIでMP3を再生
:鋭く、レトロゲームのサウンドデザインでよく使用されます。
:正弦波と正方形の波のブレンド。OscillatorNode
'sine'
Codepen Demo:Oscillatornodeでサウンドを生成(your-codepen-id-here
を実際のCodepen IDに置き換えます)
通知サウンドの追加:
およびOscillatorNode
を使用して通知サウンドを作成しましょう。 GainNode
は、オーディオ振幅(ボリューム)を制御します。 GainNode
(AudioParam
およびGainNode
によって公開されるインターフェイス)により、周波数やゲインなどの値の段階的な変更を設定してスケジュールし、より自然なサウンド効果を生み出します。 OscillatorNode
を使用して、音の内外を滑らかにフェードできます。exponentialRampToValueAtTime
codepenデモ:Oscillatornodeを使用した通知サウンドyour-codepen-id-here
作成は安価です。サウンドを再生するには、ノードを再起動しようとする代わりに再作成します。
Web Audio APIに深く掘り下げるには、SitePoint Premium Screencastシリーズを考えてみましょう。
AudioNodes
(元の入力のFAQセクションは、スペースを節約するためにここで省略されていますが、完全性のために最終出力にそれを含めることを強くお勧めします。 🎜>
この改訂された出力は、読みやすさとフローを改善しながら、元のコンテンツを維持します。 プレースホルダーCodePenリンクをデモへの実際のリンクに置き換えることを忘れないでください。
以上がWebオーディオAPI:帯域幅に優しいサウンドをWebページに追加するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。