WebGL のオーディオは他のプラットフォームとは異なります。他のプラットフォームでは、オーディオの再生やミキシングを行うために FMOD が内部で使用されています。ですが、WebGL ではスレッドがサポートされておらず、他の方法を取らざるを得ませんでした。そこで Web Audio API を内部ベースとして、ブラウザ側でオーディオの再生とミキシングを実装するようにしました。
残念ながら、WebGL では一般的な機能のみをサポートしており、一部のオーディオ機能に制限があります。このページでは、対応している機能について説明します。ここに記載されていないものは現在サポートされていません。
AudioSource では、オーディオ再生からの一時停止、再開、パニング、ロールオフ、ピッチ、ドップラー効果をサポートしています。
以下のAudioSource
API がサポートされています。
プロパティ
clip
dopplerLevel
ignoreListenerPause
ignoreListenerVolume
isPlaying
loop
maxDistance
minDistance
mute
pitch
(ピッチには正の値のみがサポートされていることに注意してください。)playOnAwake
rolloffMode
time
timeSamples
velocityUpdateMode
volume
メソッド
Pause
Play
PlayDelayed
PlayOneShot
PlayScheduled
SetScheduledEndTime
SetScheduledStartTime
Stop
UnPause
PlayClipAtPoint
すべての 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 ではサポートされていません。