Пример #1
0
        /// <summary>
        /// 起動時の初期化
        /// </summary>
        /// <param name="settingData">設定データ</param>
        public void BootInit(AdvBootSetting settingData)
        {
            foreach (AdvSoundSettingData data in List)
            {
                data.BootInit(settingData);

                AssetFile file = AssetFileManager.GetFileCreateIfMissing(data.FilePath);
                file.Version = data.Version;
                //ロードタイプをストリーミングにする場合、
                //oggはUnityのバグがあるのでストリーム読み込みを無効にする
                //バグの内容は、曲の長さがとれず一度鳴らすと終了しなくなるというもの。
                if (data.IsStreaming && !ExtensionUtil.CheckExtention(data.FilePath, ExtensionUtil.Ogg))
                {
                    file.AddLoadFlag(AssetFileLoadFlags.Streaming);
                }
            }
        }
Пример #2
0
 //指定のファイル名をロードして鳴らす
 IEnumerator CoLoadAndPlayFile(string path, float masterVolume, float volume, bool isLoop, bool isStreaming)
 {
     if (!string.IsNullOrEmpty(path))
     {
         AssetFile file = AssetFileManager.GetFileCreateIfMissing(path);
         if (isStreaming)
         {
             file.AddLoadFlag(AssetFileLoadFlags.Streaming);
         }
         AssetFileManager.Load(file, this);
         while (!file.IsLoadEnd)
         {
             yield return(0);
         }
         file.AddReferenceComponet(this.gameObject);
         file.Unuse(this);
         Play(file.Sound, 0.1f, masterVolume, volume, isLoop, isStreaming);
     }
 }
 //指定のファイル名をロードして鳴らす
 IEnumerator CoLoadAndPlayFile(string path, float volume, bool isLoop, bool isStreaming, Func <float> callbackMasterVolume)
 {
     if (!string.IsNullOrEmpty(path))
     {
         AssetFile file = AssetFileManager.GetFileCreateIfMissing(path);
         if (isStreaming)
         {
             file.AddLoadFlag(AssetFileLoadFlags.Streaming);
         }
         AssetFileManager.Load(file, this);
         while (!file.IsLoadEnd)
         {
             yield return(0);
         }
         SoundStream stream = Play(file.Sound, 0.1f, volume, isLoop, isStreaming, callbackMasterVolume);
         stream.FadeIn(0.1f);
         file.AddReferenceComponet(stream.gameObject);
         file.Unuse(this);
     }
     isLoading = false;
 }
Пример #4
0
        /// <summary>
        /// StringGridの一行からデータ初期化
        /// </summary>
        /// <param name="row">初期化するためのデータ</param>
        /// <returns>成否</returns>
        public override bool InitFromStringGridRow(StringGridRow row, AdvBootSetting bootSetting)
        {
            if (row.IsEmptyOrCommantOut)
            {
                return(false);
            }

            this.RowData = row;
            string key = AdvParser.ParseCell <string>(row, AdvColumnName.Label);

            if (string.IsNullOrEmpty(key))
            {
                return(false);
            }
            else
            {
                InitKey(key);
                this.type        = AdvParser.ParseCell <SoundType>(row, AdvColumnName.Type);
                this.fileName    = AdvParser.ParseCell <string>(row, AdvColumnName.FileName);
                this.isStreaming = AdvParser.ParseCellOptional <bool>(row, AdvColumnName.Streaming, false);
                this.version     = AdvParser.ParseCellOptional <int>(row, AdvColumnName.Version, 0);
                this.title       = AdvParser.ParseCellOptional <string>(row, AdvColumnName.Title, "");

                this.filePath = FileNameToPath(fileName, bootSetting);
                AssetFile file = AssetFileManager.GetFileCreateIfMissing(this.FilePath, this.RowData);
                if (file != null)
                {
                    file.Version = this.Version;
                    //ロードタイプをストリーミングにする場合、
                    if (this.IsStreaming)
                    {
                        file.AddLoadFlag(AssetFileLoadFlags.Streaming);
                    }
                }

                return(true);
            }
        }