Version: Unity 6.0 (6000.0)
言語 : 日本語
ウェブのグラフィックス
Web でのビデオ再生

Web のオーディオ

このページでは、Web プラットフォームのオーディオ機能に関する情報のみを提供しています。Unity プロジェクトでオーディオを使用する方法については、オーディオの概要 を参照してください。

Unity はプラットフォームのオーディオ管理に FMOD を使用するため、Web プラットフォームでは、基本機能のみを含む限られたオーディオ機能がサポートされます。FMOD はスレッドに依存しますが、WebGL API はこれをサポートしていません。このため、Unity では、ブラウザーでオーディオの再生とミキシングを処理できる、内部の Web Audio API に基づいた実装を使用しています。

注意Google Chrome の新しい自動再生ポリシーでは、特定の条件下でのオーディオとビデオの自動再生を禁止しています。例えば、ゲームがロードされた直後に背景音楽が自動的に再生されるように設定されている場合でも、ウェブサイトをクリックするかタップしない限り、自動的には再生されません。このポリシーを有効または無効にする方法の詳細については、Chromeの自動再生ポリシー に関する Google Chrome のドキュメントを参照してください。

対応可能なクラス

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

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

AudioSource

AudioSource API は、以下のような基本的な位置に関するオーディオ再生をサポートしています。

  • ポーズと再開
  • ロールオフ
  • ピッチ設定
  • ドップラー効果対応

Unity WebGL は、以下の AudioSource API をサポートします。

設定 説明
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 を再生し、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 オーディオの長さ (秒単位)。
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 を部分的にサポートしています。この方法は、Load TypeDecompress on Load に設定されている圧縮オーディオファイルに対してのみ使用できます。詳細については、圧縮オーディオ を参照してください。
AudioClip.GetData AudioSource.clip からサンプルデータを含む配列を取得します。 Unity WebGL は、AudioClip.GetData を部分的にサポートしています。この方法は、Load TypeDecompress on Load に設定されている圧縮オーディオファイルに対してのみ使用できます。詳細については、圧縮オーディオ を参照してください。

注意Linux でオーディオクリップをサポートするには、ffmpeg パッケージがインストールされていることを確認してください。

オーディオミキサー

Unity Web は、オーディオミキサー アセットの一部の機能をサポートします。

Web 上のオーディオミキサーでは以下を行うことができます。

  • オーディオミキサーアセットを作成する。
  • 階層に AudioMixerGroup を追加する。
  • 各グループの音量を調整する。スクリプトで音量を公開または変更するには、AudioMixer.SetFloat を使用します。

ノート: 音量は Web 上で変更できる唯一のプロパティです。その他のプロパティやサウンドエフェクトはサポートされません。

圧縮オーディオ

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

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

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

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

ウェブのグラフィックス
Web でのビデオ再生