private void SearchingThread() { try { string url = "http://115.71.236.224:8081/searchMusicVideoInformationForPage?query="; string query = url + queryString +"&page=" + cur_page; JsonArrayCollection items = JSONHelper.getJSONArray(query); if (items.Count > 0) { //MessageBoxOrange.ShowDialog(col.Count.ToString()); Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { foreach(JsonObjectCollection item in items) { string resultURL = item["url"].GetValue().ToString().Replace("http://www.youtube.com/watch?v=", ""); //string resultPlayTime = ConvertTimespanToString.ToReadableString(item["time"].GetValue().ToString()); string resultPlayTime = item["time"].GetValue().ToString(); string resultTitle = item["title"].GetValue().ToString(); MusicItem mitem = new MusicItem(); mitem.title = resultTitle; mitem.time = resultPlayTime; mitem.url = resultURL; musicCollection.Add(mitem); } if (items.Count >= 17) { morebtn.Visibility = Visibility.Visible; } main_page.SetProgressRing(false, 0); main_page.Visibility = Visibility.Collapsed; })); } else { Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { MessageBoxOrange.ShowDialog("Warning", "There is no result"); main_page.SetProgressRing(false, 0); main_page.Visibility = Visibility.Visible; })); } }catch(Exception e) { Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { MessageBoxOrange.ShowDialog("Exception", e.Message); main_page.SetProgressRing(false, 0); main_page.Visibility = Visibility.Visible; })); } }
private void SelectCurrentMusicItemInPlayList(MusicItem item) { int idx = myPlayListCollection.IndexOf(item); myPlayList.SelectedIndex = idx; }
private void PlayMusic(MusicItem item) { try { if (item == null) return; if (UI_Flag.IsShowingVideo && !main_menu.IsFavoritePanel) { if (top_content.Children.Count == 0) { webBrowser.Visibility = Visibility.Visible; } } else if (!UI_Flag.IsShowingVideo || main_menu.IsFavoritePanel) { webBrowser.Visibility = Visibility.Hidden; } if (Player_State.playCount == 30) { webBrowser.Visibility = Visibility.Hidden; WebBrowserHelper.ClearCache(); //webBrowser.Refresh(); webBrowser.Navigate(URL.YOUTUBEPLAYER_URL_RELOAD); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); Player_State.playCount = 0; Console.WriteLine("Refresh"); init_progress.Visibility = Visibility.Visible; Configbtn.IsEnabled = false; Informationbtn.IsEnabled = false; CurrentItem = item; } else { webBrowser.InvokeScript("loadVideoById", new String[] { item.url }); if (NotifyCurrentItem.Checked) setBalloonTip(item.title); Player_State.playCount++; Player_State.IsPlaying = true; webBrowser.InvokeScript("setVolume", new String[] { Player_State.VolumeValue }); if (Config.IsMute) webBrowser.InvokeScript("Mute"); CurrentItem = item; Music_title.Text = item.title; SelectCurrentMusicItemInPlayList(item); myPlayList.ScrollIntoView(item); } } catch (Exception e) { MessageBoxOrange.ShowDialog("Warning", "Try again.\n\n" + e.Message.ToString()); } }
public void NextMusic() { if (CurrentItem == null) return; // MessageBoxOrange.ShowDialog("끗"); dt.Stop(); if (Properties.Settings.Default.REPEAT <= 1) { for(int i=0 ; i<playlist.Count; i++) { if(playlist[i].Equals(CurrentItem)) { if(i == playlist.Count-1) { CurrentItem = playlist[0]; } else { CurrentItem = playlist[i + 1]; } PlayMusic(CurrentItem); return; } } } // else if (Config.REPEAT == 0) // { // for (int i = 0; i < playlist.Count; i++) // { // if (playlist[i].Equals(CurrentItem)) // { // // if (i != playlist.Count - 1) // { // CurrentItem = playlist[i + 1]; // } // else // { // Player_State.IsPlaying = false; // return; // } // // PlayMusic(CurrentItem); // return; // } // } // } else if (Properties.Settings.Default.REPEAT == 2) { PlayMusic(CurrentItem); return; } }
private void Previous_item() { if (CurrentItem == null) return; if (Properties.Settings.Default.REPEAT == 2) { PlayMusic(CurrentItem); return; } for (int i = 0; i < playlist.Count; i++) { if (playlist[i].Equals(CurrentItem)) { if (i != 0) { CurrentItem = playlist[i - 1]; } else if (i == 0) { CurrentItem = playlist[playlist.Count - 1]; } PlayMusic(CurrentItem); return; } } }