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); }
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))); }