このページでは、WebGL のオーディオ機能に関する情報のみを提供しています。Unity プロジェクトでオーディオを使用する方法については、オーディオの概要 を参照してください。
Unity WebGL のオーディオ機能は限られており、基本的な機能しかサポートしていません。これは、Unity が通常、プラットフォームのオーディオ管理に FMOD を使用しているためです。ただし、FMOD はスレッドに依存しており、WebGL はこれをサポートしていません。このため、Unity では、内部の Web Audio API に基づいた実装を採用し、ブラウザーでオーディオの再生やミキシングを処理できるようにしています。
Unity WebGL は以下の API クラスをサポートしています。
クラス | WebGL サポート状況 |
---|---|
AudioSouce | WebGL はいくつかの API をサポートしています。具体的なサポート内容については、AudioSource を参照してください。 |
AudioListener | すべての API に対応しています。 |
AudioClip | WebGL はいくつかの API をサポートしています。具体的なサポート内容については、AudioClip を参照してください。 |
SystemInfo.supportsAudio | ブラウザーは WebGL のオーディオサポートを提供しています。このため、 SystemInfo.supportsAudio は常に true です。 |
Microphone | 不対応。 |
AudioSource API は、以下のような基本的な位置に関するオーディオ再生をサポートしています。
Unity WebGL は、以下の AudioSource API をサポートします。
Properties | 説明 |
---|---|
Clip | 次に再生するオーディオクリップを決定します。 |
dopplerLevel | AudioSource のドップラースケールを設定します。 |
ignoreListenerPause | AudioSource が、AudioListener.pause を無視して、オーディオの再生を継続できるようにします。 |
ignoreListenerVolume | エンドユーザーの AudioSource の音量を無視します。 |
isPlaying |
AudioSource.clip が再生されている場合に true を返します。 |
loop | アプリケーションで AudioSource.clip をループさせることができます。 |
maxDistance |
AudioSource.clip の減衰が止まる、または聞き取れなくなる最大距離を設定します。 |
minDistance | AudioSource.clip の音量がこれ以上上がらなくなる最小距離を設定します。最小距離を超えると、音が減衰し始めます。 |
mute | AudioSource をミュートします。 |
pitch |
AudioSource.clip のピッチを設定します。WebGL は正のピッチ値のみをサポートしています。 |
playOnAwake | Awakeで AudioSource を再生します。 |
rolloffMode | 距離による AudioSource の減衰量を設定します。 |
time | 再生位置を秒単位で設定します。 |
timeSamples | 再生位置をパルス符号変調 (PCM) サンプルで設定します。 |
velocityUpdateMode | AudioSource の更新を固定更新ループで行うか、動的更新ループで行うかを設定します。 |
volume | オーディオソースの音量を設定します (0.0 - 1.0)。 |
メソッド | 説明 |
---|---|
Pause |
AudioSource.clip を一時停止します。 |
Play |
AudioSource.clip を再生します。 |
PlayDelayed |
AudioSource.clip を、秒単位で指定した遅延時間を付けて再生します。 |
PlayOneShot | AudioClip を再生し、AudioSource の音量を volumeScale でスケールします。 |
PlayScheduled | 指定した時間にオーディオソースを再生します。 |
SetScheduledEndTime | スケジュールされた AudioSource.clip が終了する時間を設定します。 |
SetScheduledStartTime | スケジュールされた AudioSource.clip の開始時間を設定します。 |
Stop |
AudioSource.clip の再生を停止します。 |
UnPause | 一時停止した AudioSource.clip を解除します。 |
PlayClipAtPoint |
AudioSource.clip をワールド空間の指定された位置で再生します。 |
Unity WebGL は、広くブラウザでサポートされている AAC 形式の AudioClip ファイルをインポートします。Unity WebGL は、以下の AudioClip API をサポートします。
Properties | 説明 |
---|---|
length | オーディオの長さ (秒単位)。 |
loadState | AudioClip に関連付けられたオーディオデータの現在の読み込み状況を返します。 |
samples | サンプルの AudioClip の長さ。 |
loadType | クリップのロードタイプです。AudioClip のロードタイプは、Inspector で設定できます。 |
メソッド | 説明 | 追加情報 |
---|---|---|
AudioClip.Create | 指定した名前と長さの AudioClip を作成します。 | Unity WebGL は、AudioClip.Create を部分的にサポートしています。ブラウザーは動的ストリーミングをサポートしていません。そのため、AudioClip.Create を使用するには、Stream を false に設定してください。 |
AudioClip.SetData | AudioSource.Clip のサンプルデータを設定します。 | Unity WebGL は、 AudioClip.SetData を部分的にサポートしています。このメソッドは、AudioClip のコンテンツを置き換えるためにのみ使用できます。WebGL では、Unity は offsetSample パラメーターを無視します。 |
Unity WebGL は圧縮オーディオに対応していません。
セキュリティ上の理由から、ブラウザーは、エンドユーザーがマウスのクリック、タッチイベント、キーの押下などでアプリケーションのウェブページを操作するまで、オーディオの再生を許可しません。ローディングスクリーンを使用して、エンドユーザーがアプリケーションと相互作用できるようにし、主要コンテンツが始まる前にオーディオ再生を開始します。