ドキュメント

Unity Engine

Unity Engine

Web のオーディオ

Information about audio capabilities in Web.
読み終わるまでの所要時間 13 分最終更新 1ヶ月前

このページでは、Web プラットフォームのオーディオ機能に関する情報のみを提供しています。Unity プロジェクトでオーディオを使用する方法については、オーディオの概要 を参照してください。
Unity はプラットフォームのオーディオ管理に FMOD を使用するため、Web プラットフォームでは、基本機能のみを含む限られたオーディオ機能がサポートされます。FMOD はスレッドに依存しますが、WebGL API はこれをサポートしていません。このため、Unity では、ブラウザーでオーディオの再生とミキシングを処理できる、内部の Web Audio API に基づいた実装を使用しています。
注意Google Chrome の新しい自動再生ポリシーでは、特定の条件下でのオーディオとビデオの自動再生を禁止しています。例えば、ゲームがロードされた直後に背景音楽が自動的に再生されるように設定されている場合でも、ウェブサイトをクリックするかタップしない限り、自動的には再生されません。このポリシーを有効または無効にする方法の詳細については、Chromeの自動再生ポリシー に関する Google Chrome のドキュメントを参照してください。

対応可能なクラス

Unity Web は以下の API クラスをサポートしています。

クラス

WebGL サポート状況

AudioSourceWebGL はいくつかの API をサポートしています。具体的なサポート内容については、AudioSource を参照してください。
AudioListenerすべての API に対応しています。
AudioClipWebGL はいくつかの API をサポートしています。具体的なサポート内容については、AudioClip を参照してください。
AudioMixerWebGL はいくつかの API をサポートしています。具体的なサポート内容については、オーディオミキサー を参照してください。
SystemInfo.supportsAudioブラウザーは WebGL のオーディオサポートを提供しています。このため、
SystemInfo.supportsAudio
は常に true です。
Microphone不対応。

AudioSource

AudioSource API は、以下のような基本的な位置に関するオーディオ再生をサポートしています。
  • ポーズと再開
  • ロールオフ
  • ピッチ設定
  • ドップラー効果対応
Unity WebGL は、以下の AudioSource API をサポートします。

設定

説明

Clip次に再生するオーディオクリップを決定します。
dopplerLevelAudioSource のドップラースケールを設定します。
ignoreListenerPauseAudioSource が、
AudioListener.pause
を無視して、オーディオの再生を継続できるようにします。
ignoreListenerVolumeエンドユーザーの AudioSource の音量を無視します。
isPlaying
AudioSource.clip
が再生されている場合に true を返します。
loopアプリケーションで
AudioSource.clip
をループさせることができます。
maxDistance
AudioSource.clip
の減衰が止まる、または聞き取れなくなる最大距離を設定します。
minDistanceAudioSource.clip の音量がこれ以上上がらなくなる最小距離を設定します。最小距離を超えると、音が減衰し始めます。
muteAudioSource をミュートします。
pitch
AudioSource.clip
のピッチを設定します。WebGL は正のピッチ値のみをサポートしています。
playOnAwakeAwakeで AudioSource を再生します。
rolloffMode距離による AudioSource の減衰量を設定します。
time再生位置を秒単位で設定します。
timeSamples再生位置をパルス符号変調 (PCM) サンプルで設定します。
velocityUpdateModeAudioSource の更新を固定更新ループで行うか、動的更新ループで行うかを設定します。
volumeオーディオソースの音量を設定します (0.0 - 1.0)。
Pause
AudioSource.clip
を一時停止します。
Play
AudioSource.clip
を再生します。
PlayDelayed
AudioSource.clip
を、秒単位で指定した遅延時間を付けて再生します。
PlayOneShotAudioClip を再生し、volumeScale で AudioSource 音量をスケールします。
PlayScheduled指定した時間にオーディオソースを再生します。
SetScheduledEndTimeスケジュールされた
AudioSource.clip
が終了する時間を設定します。
SetScheduledStartTimeスケジュールされた
AudioSource.clip
の開始時間を設定します。
Stop
AudioSource.clip
の再生を停止します。
UnPause一時停止中の
AudioSource.clip
の一時停止を解除します。
PlayClipAtPoint
AudioSource.clip
をワールド空間の指定された位置で再生します。

AudioClip

Unity WebGL は、ほとんどのブラウザーでサポートされている AAC 形式の AudioClip ファイルをインポートします。Unity WebGL は、以下の AudioClip API をサポートします。

プロパティ

説明

lengthオーディオの長さ (秒単位)。
loadStateAudioClip に関連付けられたオーディオデータの現在の読み込み状況を返します。
samplesサンプルの AudioClip の長さ。
loadTypeクリップのロードタイプです。AudioClip のロードタイプは、Inspector で設定できます。

方法

説明

その他の情報

AudioClip.Create指定した名前と長さの AudioClip を作成します。Unity WebGL は、
AudioClip.Create
を部分的にサポートしています。ブラウザーは動的ストリーミングをサポートしていません。そのため、
AudioClip.Create
を使用するには、Stream を false に設定してください。
AudioClip.SetDataAudioSource.Clip のサンプルデータを設定します。Unity WebGL は、
AudioClip.SetData
を部分的にサポートしています。この方法は、Load Type が Decompress on Load に設定されている圧縮オーディオファイルに対してのみ使用できます。詳細については、圧縮オーディオ を参照してください。
AudioClip.GetDataAudioSource.clip からサンプルデータを含む配列を取得します。Unity WebGL は、
AudioClip.GetData
を部分的にサポートしています。この方法は、Load Type が Decompress on Load に設定されている圧縮オーディオファイルに対してのみ使用できます。詳細については、圧縮オーディオ を参照してください。
注意Linux でオーディオクリップをサポートするには、ffmpeg パッケージがインストールされていることを確認してください。

オーディオミキサー

Unity Web は、オーディオミキサー アセットの一部の機能をサポートします。
Web 上のオーディオミキサーでは以下を行うことができます。
  • オーディオミキサーアセットを作成する。
  • 階層に AudioMixerGroup を追加する。
  • 各グループの音量を調整する。スクリプトで音量を公開または変更するには、AudioMixer.SetFloat を使用します。
ノート: 音量は Web 上で変更できる唯一のプロパティです。その他のプロパティやサウンドエフェクトはサポートされません。

圧縮オーディオ

Unity の WebGL で圧縮オーディオを使用するには、AudioClip の loadType を以下のいずれかのオプションに設定します。

圧縮形式

説明

考慮事項

CompressedInMemoryディスク上のオーディオを圧縮し、アプリケーションメモリにロードした後も圧縮されたままにします。圧縮オーディオは待ち時間の原因になる可能性があり、オーディオ再生の精度は低くなります。ただし、圧縮オーディオは、解凍オーディオよりもアプリケーションのメモリ使用量が少なくなります。精度に影響されないオーディオ、例えば背景音楽には
CompressedInMemory
を使用するのがベストプラクティスです。
DecompressOnLoadCompressedInMemory と同様にディスク上のオーディオを圧縮し、アプリケーションメモリにロードしたときに解凍します。解凍オーディオは、圧縮オーディオと比較してメモリ使用量が大幅に増えますが、待ち時間が短く、オーディオの柔軟性が向上します。精度に影響されるオーディオには
DecompressedOnLoad
を使用します (例えば、キャラクターのセリフやサウンドエフェクトなど)。

オーディオ再生とブラウザーのセキュリティ

セキュリティ上の理由から、ブラウザーは、エンドユーザーがマウスのクリック、タッチイベント、キーの押下などでアプリケーションのウェブページを操作するまで、オーディオの再生を許可しません。ロード画面を使用して、エンドユーザーがアプリケーションと相互作用できるようにし、主要コンテンツが始まる前にオーディオ再生を開始します。