public void PreviousTrack()
        {
            int trackId = GetTrackId(currentTrack);

            MusicTrack newTrack = trackId - 1 < 0 ? tracks[tracks.Count - 1] : tracks[trackId - 1];

            Play(newTrack);
        }
        public void NextTrack()
        {
            int trackId = GetTrackId(currentTrack);

            MusicTrack newTrack = trackId + 1 > tracks.Count - 1 ? tracks[0] : tracks[trackId + 1];

            Play(newTrack);
        }
Exemple #3
0
 public void CreateCurrentTrackWindow(MusicTrack track)
 {
     if (createdWindow == null)
     {
         createdWindow = Instantiate(window.gameObject, canvas.transform);
         createdWindow.GetComponent <MusicPlayerWindow>().SetData(track);
         Show();
     }
 }
        public void SetData(MusicTrack track)
        {
            songName.text  = track.songName.Length > 0 ? track.songName : "";
            albumName.text = track.albumName.Length > 0 ? track.albumName : "";
            string artistsString = string.Join(", ", track.artists);

            artists.text      = artistsString.Length > 0 ? artistsString : "";
            year.text         = track.year != 0 ? track.year.ToString() : "";
            albumIcon.texture = track.albumIcon != null ? track.albumIcon : null;
        }
        void Start()
        {
            if (shuffle)
            {
                ShuffleTrackList();
            }
            audioSource             = GetComponent <AudioSource>();
            audioSource.playOnAwake = false;

            currentTrack = tracks[0];
            Play(currentTrack);
        }
        public void Play(MusicTrack track)
        {
            currentTrack     = track;
            audioSource.clip = track.audioClip;
            audioSource.Play();
            onTrackChanged.Invoke(track);

            if (timer != null)
            {
                StopCoroutine(timer);
            }

            float duration = currentTrack.audioClip.length;

            timer = StartCoroutine(SetTimeout(duration, () => {
                NextTrack();
            }));
        }
 public int GetTrackId(MusicTrack track)
 {
     return(tracks.FindIndex(match => track.Equals(match)));
 }