Пример #1
0
        public void Run()
        {
            if (Running)
            {
                return;
            }

            Ready   = false;
            Running = true;

            SetSpotifyApi();

            if (SpotifyLocalAPI.IsSpotifyRunning() && Spotify.IsConnected())
            {
                InitializeRecordingSession();

                while (Running)
                {
                    if (!SpotifyLocalAPI.IsSpotifyRunning())
                    {
                        _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyIsClosed"));
                        Running = false;
                    }
                    else if (!SongIsStillPlaying)
                    {
                        DoIKeepLastSong(RecorderUpAndRunning);
                        RecordSpotify();
                    }
                    _lastKnownSong = _currentSong;
                    Thread.Sleep(60);
                }

                DoIKeepLastSong(RecorderUpAndRunning);
                _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logStoping"));
            }
            else if (SpotifyLocalAPI.IsSpotifyInstalled())
            {
                _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyNotConnected"));
            }
            else
            {
                _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyNotFound"));
            }

            EndRecordingSession();
        }
Пример #2
0
        private void SetSpotifyApi()
        {
            _currentSong   = new Song();
            _lastKnownSong = new Song();

            if (SpotifyLocalAPI.IsSpotifyInstalled() && !SpotifyLocalAPI.IsSpotifyRunning())
            {
                _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyConnecting"));
            }

            Spotify.Connect();

            Spotify.Instance.ListenForEvents    = true;
            Spotify.Instance.OnPlayStateChange += OnPlayStateChanged;
            Spotify.Instance.OnTrackChange     += OnTrackChanged;
            Spotify.Instance.OnTrackTimeChange += OnTrackTimeChanged;
        }