Esempio n. 1
0
    private IEnumerator LoadMusic(string filepath, MusicTypeInfo typeInfo, string musicName, int endIndex)
    {
        filepath = "file://" + filepath;
        using (var www = UnityWebRequestMultimedia.GetAudioClip(filepath, AudioType.MPEG)) {
            yield return(www.SendWebRequest());

            if (www.isNetworkError)
            {
                Debug.LogError(www.error);
            }
            else
            {
                AudioClip clip = DownloadHandlerAudioClip.GetContent(www);
                MusicInfo info = new MusicInfo();
                info.clip  = clip;
                info.name  = musicName;
                info.index = index;
                info.time  = clip.length;
                typeInfo.musicList.Add(info);
                if (index == endIndex)
                {
                    ShowMusicListItem(typeInfo);
                }
                index += 1;
            }
        }
    }
Esempio n. 2
0
 private void ShowMusicListItem(MusicTypeInfo info)
 {
     for (int i = 0; i < info.musicList.Count; i++)
     {
         MusicItem item = Instantiate(itemPrefab);
         item.SetContent(info.musicList[i]);
         item.transform.SetParent(musicParent, false);
     }
     typeNameText.text = info.name + "(" + info.musicList.Count + ")";
 }
Esempio n. 3
0
 public void SetContent(MusicInfo _info, MusicTypeInfo _typeInfo)
 {
     gameObject.SetActive(true);
     typeInfo            = _typeInfo;
     info                = _info;
     nameText.text       = info.name;
     timeSlider.value    = 0;
     passTimeText.text   = Util.SecToTimeString(0);
     remainTimeText.text = Util.SecToTimeString(info.time);
     SoundManager.manager.PlayMusic(info.clip);
 }
Esempio n. 4
0
    public void ParseMusic()
    {
        var      t    = Resources.Load <TextAsset>("Music/music");
        JsonData data = JsonMapper.ToObject(t.text);

        for (int i = 0; i < data.Count; i++)
        {
            MusicTypeInfo info = new MusicTypeInfo();
            info.type = (string)data[i]["type"];
            info.url  = (string)data[i]["url"];
            info.name = (string)data[i]["name"];
            typeList.Add(info);
        }
    }
Esempio n. 5
0
    private void ShowMusicList(MusicTypeInfo info)
    {
        Util.DeleteChildren(musicParent);
        string path = "";

#if UNITY_EDITOR
        path = Application.streamingAssetsPath + info.url;
#else
        path = Application.persistentDataPath + info.url;
#endif
        Debug.Log(path);
        DirectoryInfo direction = new DirectoryInfo(path);
        FileInfo[]    files     = direction.GetFiles("*.mp3", SearchOption.AllDirectories);
        info.musicList.Clear();
        index = 1;

        int endCount = files.Length;
        for (int i = 0; i < files.Length; i++)
        {
            FileInfo f = files[i];
            StartCoroutine(LoadMusic(f.FullName, info, f.Name, endCount));
        }
        typeNameText.text = info.name + "(" + info.musicList.Count + ")";
    }
Esempio n. 6
0
 public void SetContent(MusicTypeInfo _info)
 {
     info             = _info;
     showImage.sprite = Resources.Load <Sprite>("Music/" + info.type);
     nameText.text    = info.name;
 }