예제 #1
0
 private void NextLyricsDataButon_Click(object sender, RoutedEventArgs e)
 {
     if (lyricsManager == null)
     {
         return;
     }
     lyricsManager.LyricsListIndex += 1;
     lyricsManager.StreamChanged();
     lyricsList.ItemsSource = lyricsManager.GetLyricsData();
 }
예제 #2
0
        private void Player_StreamChanged(object sender, Common.StreamChangedEventArgs e)
        {
            this.Show();
            lyricsManager.StreamChanged();

            //GC 강제 실행
            System.GC.Collect(2, GCCollectionMode.Forced);
            System.GC.WaitForFullGCComplete();

            if (PrestoSDK.PrestoService.Player.CurrentMusic.Title == null)
            {
                string fileName = Path.GetFileNameWithoutExtension(lyricsManager.CurrentMusic);
                PrestoSDK.PrestoService.Player.CurrentMusic.Title = fileName;
            }
        }
예제 #3
0
        // 재생중인 음악이 바뀌면
        private void Player_StreamChanged(object sender, Common.StreamChangedEventArgs e)
        {
            // 큰 플레이어가 실행중이고, 숨겨진 상태라면
            if (IsThisWindowShow == true)
            {
                this.Show();
            }
            lyricsManager = null;
            lyricsManager = new LyricsManager();
            lyricsManager.LyricsListIndex = 0;
            // 현재 바뀐 음악에 대한 가사 처리
            lyricsManager.StreamChanged();

            // 재바인딩
            lyricsList.ItemsSource = lyricsManager.GetLyricsData();

            isAutoLyricsIndexChange  = true;
            lyricsList.SelectedIndex = 0;
            lyricsList.ScrollIntoView(lyricsList.Items[0]);
        }