Exemplo n.º 1
0
        IEnumerator LoadMusic(string fileName)
        {
            using (var _unityWebRequest = UnityWebRequestMultimedia.GetAudioClip(Path.Combine(MusicSelector.DirectoryPath.Value, fileName), AudioType.WAV)){
                yield return(_unityWebRequest.SendWebRequest());

                EditCommandManager.Clear();
                ResetEditor();

                AudioClip clip = null;

                if (_unityWebRequest.isHttpError || _unityWebRequest.isNetworkError)
                {
                    Debug.Log(_unityWebRequest.error.ToString());
                }
                else
                {
                    clip = DownloadHandlerAudioClip.GetContent(_unityWebRequest);
                    Audio.Source.clip = clip;

                    EditData.Name.Value = fileName;
                    LoadEditData();
                    Audio.OnLoad.OnNext(Unit.Default);
                }
            }

            /*
             * using (var www = new WWW("file:///" + Path.Combine(MusicSelector.DirectoryPath.Value, fileName)))
             * {
             *  yield return www;
             *
             *  EditCommandManager.Clear();
             *  ResetEditor();
             *  Audio.Source.clip = www.GetAudioClip();
             *
             *  if (Audio.Source.clip == null)
             *  {
             *      // TODO: 読み込み失敗時の処理
             *  }
             *  else
             *  {
             *      EditData.Name.Value = fileName;
             *      LoadEditData();
             *      Audio.OnLoad.OnNext(Unit.Default);
             *  }
             * }
             */
        }
Exemplo n.º 2
0
        IEnumerator LoadMusic(string fileName)
        {
            using (var www = new WWW("file:///" + Path.Combine(MusicSelector.DirectoryPath.Value, fileName)))
            {
                yield return(www);

                EditCommandManager.Clear();
                ResetEditor();
                Audio.Source.clip = www.GetAudioClip();

                if (Audio.Source.clip == null)
                {
                    // TODO: 読み込み失敗時の処理
                }
                else
                {
                    EditData.Name.Value = fileName;
                    LoadEditData();
                    Audio.OnLoad.OnNext(Unit.Default);
                }
            }
        }