コード例 #1
0
    private void Update()
    {
        CurrentlyPlayingContext context = GetCurrentContext();

        if (context != null)
        {
            // Update current position to context position when user is not dragging
            if (_currentProgressText != null && !_progressStartDrag)
            {
                _currentProgressText.text = S4UUtility.MsToTimeString(context.ProgressMs);
            }

            // Update Volume slider
            if (_volumeSlider != null)
            {
                _volumeSlider.minValue = 0;
                _volumeSlider.maxValue = 100;
                _volumeSlider.value    = context.Device.VolumePercent.Value;
            }

            // Update play/pause btn sprite with correct play/pause sprite
            if (_playPauseButton != null)
            {
                Image playPauseImg = _playPauseButton.transform.GetChild(0).GetComponent <Image>();
                if (context.IsPlaying)
                {
                    playPauseImg.sprite = _pauseSprite;
                }
                else
                {
                    playPauseImg.sprite = _playSprite;
                }
            }

            FullTrack track = context.Item as FullTrack;
            if (track != null)
            {
                if (_totalProgressText != null)
                {
                    _totalProgressText.text = S4UUtility.MsToTimeString(track.DurationMs);
                }
                if (_currentProgressSlider != null)
                {
                    _currentProgressSlider.minValue = 0;
                    _currentProgressSlider.maxValue = track.DurationMs;

                    // Update position when user is not dragging slider
                    if (!_progressStartDrag)
                    {
                        _currentProgressSlider.value = context.ProgressMs;
                    }
                }
            }
        }
    }
コード例 #2
0
 private void UpdateUI()
 {
     if (_track != null)
     {
         if (_trackNameText != null)
         {
             _trackNameText.text = _track.Name;
         }
         if (_trackArtistsText != null)
         {
             _trackArtistsText.text = S4UUtility.ArtistsToSeparatedString(", ", _track.Artists);
         }
         if (_albumText != null)
         {
             _albumText.text = _track.Album.Name;
         }
         if (_durationText != null)
         {
             _durationText.text = S4UUtility.MsToTimeString(_track.DurationMs);
         }
     }
 }
コード例 #3
0
    private void UpdateUI()
    {
        if (_name != null)
        {
            _name.text = _track.Name;
        }
        if (_artist != null)
        {
            _artist.text = S4UUtility.ArtistsToSeparatedString(", ", _track.Artists);
        }
        if (_duration != null)
        {
            _duration.text = S4UUtility.MsToTimeString(_track.DurationMs);
        }
        if (_playBtn != null)
        {
            _playBtn.onClick.AddListener(() =>
            {
                var client = SpotifyService.Instance.GetSpotifyClient();
                if (client != null)
                {
                    PlayerResumePlaybackRequest request = new PlayerResumePlaybackRequest()
                    {
                        //ContextUri = ,        // Play within context of just the individual track
                        Uris = new List <string>()
                        {
                            _track.Uri
                        },
                    };
                    client.Player.ResumePlayback(request);

                    Debug.Log($"Spotify App | Playing searched song '{S4UUtility.ArtistsToSeparatedString(", ", _track.Artists)} - {_track.Name}'");
                }
            });
        }
    }
コード例 #4
0
    private void OnProgressSliderValueChanged(float newValueMs)
    {
        _progressDragNewValue = newValueMs;

        _currentProgressText.text = S4UUtility.MsToTimeString((int)_progressDragNewValue);
    }