WebGL のオーディオは他のプラットフォームとは異なります。他のプラットフォームでは、オーディオの再生やミキシングを行うために FMOD が内部で使用されています。ですが、WebGL ではスレッドがサポートされておらず、他の方法を取らざるを得ませんでした。そこで Web Audio API を内部ベースとして、ブラウザ側でオーディオの再生とミキシングを実装するようにしました。
残念ながら、WebGL では一般的な機能のみをサポートしており、一部のオーディオ機能に制限があります。このページでは、対応している機能について説明します。ここに記載されていないものは現在サポートされていません。
AudioSource では、オーディオ再生からの一時停止、再開、パニング、ロールオフ、ピッチ、ドップラー効果をサポートしています。
以下のAudioSource API がサポートされています。
プロパティ
clipdopplerLevelignoreListenerPauseignoreListenerVolumeisPlayingloopmaxDistanceminDistancemutepitch (ピッチには正の値のみがサポートされていることに注意してください。)playOnAwakerolloffModetimetimeSamplesvelocityUpdateModevolumeメソッド
PausePlayPlayDelayedPlayOneShotPlayScheduledSetScheduledEndTimeSetScheduledStartTimeStopUnPausePlayClipAtPointすべての AudioListener API がサポートされています。
WebGL の AudioClip は、常に AAC 形式としてインポートされます。これは、さまざまなブラウザーで広くサポートされている形式だからです。
以下の AudioClip API がサポートされています。
プロパティ
メソッド
AudioClip.Create は部分的にサポートされています。これは、ストリーミングパラメーターが false に設定され、AudioClip.Create が呼び出されたときに完全なオーディオサンプルが読み込まれる場合にのみ機能します。このように設定すると、制御を返す前にクリップを作成し、すべてのサンプルをロードします。AudioClip.SetData は部分的にサポートされています。これは、AudioClip のコンテンツ全体を置き換える場合にのみ機能します。offsetSamples パラメーターは無視されます。SystemInfo.supportsAudio は WebGL では実装されておらず、常に true を返します。
オーディオクリップがブラウザーによってネイティブにサポートされている形式の場合、WWW.audioClip は WebGL で動作するはずです。さまざまなブラウザーのサポートされている形式のリストは、Mozilla のドキュメントのサポートされているメディア形式 を参照してください。
Microphone クラスは WebGL ではサポートされていません。