「Unity x ADX2LE Webプレーヤ時はUnity標準で再生する」の編集履歴(バックアップ)一覧に戻る
using UnityEngine; using System.Collections; #if UNITY_WEBPLAYER public class MyAudioSource : MonoBehaviour { AudioSource _source = null; public AudioSource source { get { if(_source == null){ _source = gameObject.AddComponent<AudioSource>(); } return _source; } } #else public class MyAudioSource : CriAtomSource { public CriAtomSource source { get { return this; } } #endif public MyAudioSource() { this.name = "MyAudioSource"; #if UNITY_WEBPLAYER source.rolloffMode = AudioRolloffMode.Linear; #else #endif } }
using UnityEngine; using System.Collections; using System.Collections.Generic; public class SoundManager : MonoBehaviour { MyAudioSource bgm; void AudioSetup() { if(bgm == null)bgm = gameObject.AddComponent<MyAudioSource>(); } void PlayOpening() { if(bgm == null)AudioSetup(); #if UNITY_WEBPLAYER bgm.source.clip = GetAudioClipOrLoad("AudioForWeb/Materials/BGM/opening"); bgm.source.loop = false; #else bgm.source.cueName = "opening"; #endif bgm.source.Play(); } Dictionary<string,AudioClip> audioClipList = new Dictionary<string, AudioClip>(); AudioClip GetAudioClipOrLoad(string path) { if(audioClipList.ContainsKey(path)){ return audioClipList[path]; } else { audioClipList.Add(path,Resources.Load(path, typeof(AudioClip)) as AudioClip); } return audioClipList[path]; } }