//ストリーミングタイプのサウンドだった場合、利用可能になったか bool CheckSoundStreamReady(WWW www) { if (null == sound) { return(false); } else { return(WrapperUnityVersion.IsReadyPlayAudioClip(sound)); } }
/// <summary> /// 再生 /// </summary> public void Play() { if (!WrapperUnityVersion.IsReadyPlayAudioClip(clip)) { Debug.LogError(LanguageErrorMsg.LocalizeTextFormat(ErrorMsg.SoundNotReadyToPlay, clip.name)); } audioSource.clip = clip; audioSource.loop = IsLoop; audioSource.volume = requestVolume * callbackMasterVolume(); audioSource.Play(); status = SoundStreamStatus.Play; }
//ロード処理(通常) void LoadWWWNormal(WWW www) { if (FileInfo.IsStreamingType && IsWriteNewCache) { //ストリーミング再生かつ、キャッシュに書き込む必要がある場合は、まだリソースを読まない //書き込み後の再読み込みを発行する isLoadRetry = true; } else { switch (FileType) { case AssetFileType.Text: //テキスト text = www.text; break; case AssetFileType.Bytes: //バイナリ bytes = www.bytes; break; case AssetFileType.Texture: //テクスチャ if (FileInfo.IsTextureMipmap) { //サイズとTextureFormatはLoadImage後無視される。ミップマップの反映のみ texture = new Texture2D(1, 1, TextureFormat.ARGB32, FileInfo.IsTextureMipmap); texture.LoadImage(www.bytes); texture.Apply(false, false); } else { texture = www.texture; } texture.name = FileInfo.FilePath; texture.wrapMode = TextureWrapMode.Clamp; break; case AssetFileType.Sound: //サウンド if (sound != null) { //ロードできていないストリーミング用のサウンドを消す UnityEngine.Object.Destroy(sound); } //非ストリーミングでオンメモリでロード sound = www.GetAudioClip(FileInfo.IsAudio3D, false, FileInfo.AudioType); sound.name = FileInfo.FilePath; if (!WrapperUnityVersion.IsReadyPlayAudioClip(sound)) { Debug.LogError(sound.name + ":" + sound.loadState); } break; case AssetFileType.Csv: //CSV csv = new StringGrid(this.FileName, FileInfo.IsTsv ? CsvType.Tsv : CsvType.Csv, www.text); break; case AssetFileType.UnityObject: //UnityObject Debug.LogError("AssetBundle not support load from normal WWW"); break; default: break; } } }