Ejemplo n.º 1
0
        public static async void LoadNextFM()
        {
            var(isOk, json) = await Common.ncapi.RequestAsync(CloudMusicApiProviders.PersonalFm);

            if (isOk)
            {
                var    song   = json["data"][0];
                NCSong NCSong = new NCSong()
                {
                    Album = new NCAlbum()
                    {
                        cover = song["album"]["picUrl"].ToString(),
                        id    = song["album"]["id"].ToString(),
                        name  = song["album"]["name"].ToString()
                    },
                    sid                  = song["id"].ToString(),
                    songname             = song["name"].ToString(),
                    Artist               = new List <NCArtist>(),
                    LengthInMilliseconds = double.Parse(song["duration"].ToString())
                };
                song["artists"].ToList().ForEach(t =>
                {
                    NCSong.Artist.Add(new NCArtist()
                    {
                        id   = t["id"].ToString(),
                        name = t["name"].ToString()
                    });
                });
                HyPlayList.RemoveAllSong();
                _ = await HyPlayList.AppendNCSong(NCSong);

                HyPlayList.SongAppendDone();
                HyPlayList.SongMoveTo(0);
            }
        }
Ejemplo n.º 2
0
 private void ListBoxPlayList_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (ListBoxPlayList.SelectedIndex != -1 && ListBoxPlayList.SelectedIndex != HyPlayList.NowPlaying)
     {
         HyPlayList.SongMoveTo(ListBoxPlayList.SelectedIndex);
     }
 }
Ejemplo n.º 3
0
 public static void ExitFm()
 {
     HyPlayList.OnSongMoveNext  -= HyPlayList_OnSongMoveNext;
     HyPlayList.OnMediaEnd      -= HyPlayList_OnMediaEnd;
     Common.GLOBAL["PERSONALFM"] = "false";
     HyPlayList.RemoveAllSong();
 }
Ejemplo n.º 4
0
        private void ButtonPlayAll_OnClick(object sender, RoutedEventArgs e)
        {
            Task.Run((() =>
            {
                Common.Invoke((async() =>
                {
                    HyPlayList.RemoveAllSong();
                    (bool isok, JObject json) = await Common.ncapi.RequestAsync(CloudMusicApiProviders.SongUrl,
                                                                                new Dictionary <string, object>()
                    {
                        { "id", string.Join(',', songs.Select(t => t.sid)) }, { "br", Common.Setting.audioRate }
                    });
                    if (isok)
                    {
                        List <JToken> arr = json["data"].ToList();
                        for (int i = 0; i < songs.Count; i++)
                        {
                            JToken token = arr.Find(jt => jt["id"].ToString() == songs[i].sid);
                            if (!token.HasValues)
                            {
                                continue;
                            }

                            NCSong ncSong = songs[i];

                            string tag = "";
                            if (token["type"].ToString().ToLowerInvariant() == "flac")
                            {
                                tag = "SQ";
                            }
                            else
                            {
                                tag = (token["br"].ToObject <int>() / 1000).ToString() + "k";
                            }
                            NCPlayItem ncp = new NCPlayItem()
                            {
                                tag = tag,
                                Album = ncSong.Album,
                                Artist = ncSong.Artist,
                                subext = token["type"].ToString(),
                                sid = ncSong.sid,
                                songname = ncSong.songname,
                                url = token["url"].ToString(),
                                LengthInMilliseconds = ncSong.LengthInMilliseconds,
                                size = token["size"].ToString(),
                                md5 = token["md5"].ToString()
                            };
                            HyPlayList.AppendNCPlayItem(ncp);
                        }
                        HyPlayList.SongAppendDone();

                        HyPlayList.SongMoveTo(0);
                    }
                }));
            }));
        }
Ejemplo n.º 5
0
        public async Task <bool> AppendMe()
        {
            if (!CanPlay)
            {
                return(false);
            }

            await HyPlayList.AppendNCSong(ncsong);

            return(true);
        }
Ejemplo n.º 6
0
 private void BtnPreviousSong_OnClick(object sender, RoutedEventArgs e)
 {
     if (Common.GLOBAL["PERSONALFM"].ToString() == "true")
     {
         PersonalFM.ExitFm();
     }
     else
     {
         HyPlayList.SongMovePrevious();
     }
 }
Ejemplo n.º 7
0
 private void PlayListRemove_OnClick(object sender, RoutedEventArgs e)
 {
     try
     {
         if (sender is Button btn)
         {
             HyPlayList.RemoveSong(int.Parse(btn.Tag.ToString()));
             RefreshSongList();
         }
     }
     catch { }
 }
Ejemplo n.º 8
0
        public async Task <bool> AppendMe()
        {
            if (!CanPlay)
            {
                return(false);
            }

            await HyPlayList.AppendNCSong(ncsong);

            HyPlayList.SongAppendDone();
            //此处可以进行优化
            HyPlayList.SongMoveTo(HyPlayList.List.FindIndex(t => t.NcPlayItem.sid == ncsong.sid));
            return(true);
        }
Ejemplo n.º 9
0
        private async void TestFile()
        {
            FileOpenPicker fop = new FileOpenPicker();

            fop.FileTypeFilter.Add(".flac");
            fop.FileTypeFilter.Add(".mp3");


            System.Collections.Generic.IReadOnlyList <Windows.Storage.StorageFile> files = await fop.PickMultipleFilesAsync();

            foreach (Windows.Storage.StorageFile file in files)
            {
                HyPlayList.AppendFile(file);
            }
            HyPlayList.Player.Play();
        }
Ejemplo n.º 10
0
 private void ButtonPlayAll_OnClick(object sender, RoutedEventArgs e)
 {
     Task.Run((() =>
     {
         this.Invoke((async() =>
         {
             HyPlayList.List.Clear();
             HyPlayList.RequestSyncPlayList();
             foreach (UIElement songContainerChild in SongContainer.Children)
             {
                 if (songContainerChild is SingleNCSong singleNcSong)
                 {
                     await singleNcSong.AppendMe();
                 }
             }
         }));
     }));
 }
Ejemplo n.º 11
0
        private void ButtonPlayAll_OnClick(object sender, RoutedEventArgs e)
        {
            Task.Run((() =>
            {
                Invoke((async() =>
                {
                    HyPlayList.List.Clear();
                    HyPlayList.RequestSyncPlayList();
                    (bool isok, JObject json) = await Common.ncapi.RequestAsync(CloudMusicApiProviders.SongUrl,
                                                                                new Dictionary <string, object>()
                    {
                        { "id", string.Join(',', songs.Select(t => t.sid)) }
                    });
                    if (isok)
                    {
                        List <JToken> arr = json["data"].ToList();
                        for (int i = 0; i < songs.Count; i++)
                        {
                            JToken token = arr.Find(jt => jt["id"].ToString() == songs[i].sid);
                            if (!token.HasValues)
                            {
                                continue;
                            }

                            NCSong ncSong = songs[i];
                            NCPlayItem ncp = new NCPlayItem()
                            {
                                Album = ncSong.Album,
                                Artist = ncSong.Artist,
                                subext = token["type"].ToString(),
                                sid = ncSong.sid,
                                songname = ncSong.songname,
                                url = token["url"].ToString(),
                                LengthInMilliseconds = ncSong.LengthInMilliseconds,
                                size = token["size"].ToString(),
                                md5 = token["md5"].ToString()
                            };
                            HyPlayList.AppendNCPlayItem(ncp);
                        }
                    }
                    HyPlayList.RequestSyncPlayList();
                }));
            }));
        }
Ejemplo n.º 12
0
        public MainPage()
        {
            Common.PageMain = this;
            HyPlayList.InitializeHyPlaylist();

            Task.Run(() =>
            {
                Common.Invoke((async() =>
                {
                    try
                    {
                        var sf = await ApplicationData.Current.LocalCacheFolder.GetFolderAsync("Romaji");
                        Common.KawazuConv = new KawazuConverter(sf.Path);
                    }
                    catch { }
                }));
            });
            InitializeComponent();
        }
Ejemplo n.º 13
0
        private async void ButtonHeartBeat_OnClick(object sender, RoutedEventArgs e)
        {
            HyPlayList.List.Clear();
            HyPlayList.RequestSyncPlayList();
            (bool isOk, JObject json) = await Common.ncapi.RequestAsync(CloudMusicApiProviders.PlaymodeIntelligenceList,
                                                                        new Dictionary <string, object>() { { "pid", playList.plid }, { "id", intelsong } });

            if (isOk)
            {
                foreach (JToken token in json["data"])
                {
                    NCSong ncSong = new NCSong()
                    {
                        Album = new NCAlbum()
                        {
                            cover = token["songInfo"]["al"]["picUrl"].ToString(),
                            id    = token["songInfo"]["al"]["id"].ToString(),
                            name  = token["songInfo"]["al"]["name"].ToString()
                        },
                        Artist = new List <NCArtist>(),
                        LengthInMilliseconds = double.Parse(token["songInfo"]["dt"].ToString()),
                        sid      = token["songInfo"]["id"].ToString(),
                        songname = token["songInfo"]["name"].ToString()
                    };
                    token["songInfo"]["ar"].ToList().ForEach(t =>
                    {
                        ncSong.Artist.Add(new NCArtist()
                        {
                            id   = t["id"].ToString(),
                            name = t["name"].ToString()
                        });
                    });
                    await HyPlayList.AppendNCSong(ncSong);
                }
            }
        }
Ejemplo n.º 14
0
        private async void ButtonHeartBeat_OnClick(object sender, RoutedEventArgs e)
        {
            HyPlayList.RemoveAllSong();
            (bool isOk, JObject jsona) = await Common.ncapi.RequestAsync(CloudMusicApiProviders.PlaymodeIntelligenceList,
                                                                         new Dictionary <string, object>() { { "pid", playList.plid }, { "id", intelsong } });

            if (isOk)
            {
                List <NCSong> Songs = new List <NCSong>();
                foreach (JToken token in jsona["data"])
                {
                    NCSong ncSong = new NCSong()
                    {
                        Album = new NCAlbum()
                        {
                            cover = token["songInfo"]["al"]["picUrl"].ToString(),
                            id    = token["songInfo"]["al"]["id"].ToString(),
                            name  = token["songInfo"]["al"]["name"].ToString()
                        },
                        Artist = new List <NCArtist>(),
                        LengthInMilliseconds = double.Parse(token["songInfo"]["dt"].ToString()),
                        sid      = token["songInfo"]["id"].ToString(),
                        songname = token["songInfo"]["name"].ToString()
                    };
                    token["songInfo"]["ar"].ToList().ForEach(t =>
                    {
                        ncSong.Artist.Add(new NCArtist()
                        {
                            id   = t["id"].ToString(),
                            name = t["name"].ToString()
                        });
                    });
                    Songs.Add(ncSong);
                }

                (bool isok, JObject json) = await Common.ncapi.RequestAsync(CloudMusicApiProviders.SongUrl,
                                                                            new Dictionary <string, object>() { { "id", string.Join(",", Songs.Select(t => t.sid)) }, { "br", Common.Setting.audioRate } });

                ;
                if (isok)
                {
                    List <JToken> arr = json["data"].ToList();
                    for (int i = 0; i < Songs.Count; i++)
                    {
                        JToken token = arr.Find(jt => jt["id"].ToString() == Songs[i].sid);
                        if (!token.HasValues)
                        {
                            continue;
                        }

                        NCSong ncSong = Songs[i];

                        string tag = "";
                        if (token["type"].ToString().ToLowerInvariant() == "flac")
                        {
                            tag = "SQ";
                        }
                        else
                        {
                            tag = (token["br"].ToObject <int>() / 1000).ToString() + "k";
                        }

                        NCPlayItem ncp = new NCPlayItem()
                        {
                            tag                  = tag,
                            Album                = ncSong.Album,
                            Artist               = ncSong.Artist,
                            subext               = token["type"].ToString(),
                            sid                  = ncSong.sid,
                            songname             = ncSong.songname,
                            url                  = token["url"].ToString(),
                            LengthInMilliseconds = ncSong.LengthInMilliseconds,
                            size                 = token["size"].ToString(),
                            md5                  = token["md5"].ToString()
                        };
                        HyPlayList.AppendNCPlayItem(ncp);
                    }

                    HyPlayList.SongAppendDone();

                    HyPlayList.SongMoveTo(0);
                }
            }
        }
Ejemplo n.º 15
0
 private void BtnPreviousSong_OnClick(object sender, RoutedEventArgs e)
 {
     HyPlayList.SongMovePrevious();
 }
Ejemplo n.º 16
0
 public MainPage()
 {
     Common.PageMain = this;
     HyPlayList.InitializeHyPlaylist();
     InitializeComponent();
 }
Ejemplo n.º 17
0
 private void ButtonCleanAll_OnClick(object sender, RoutedEventArgs e)
 {
     HyPlayList.RemoveAllSong();
     ListBoxPlayList.ItemsSource = new ObservableCollection <ListViewPlayItem>();
 }
Ejemplo n.º 18
0
 private void ButtonCleanAll_OnClick(object sender, RoutedEventArgs e)
 {
     HyPlayList.List.Clear();
     HyPlayList.RequestSyncPlayList();
     ListBoxPlayList.ItemsSource = new ObservableCollection <ListViewPlayItem>();
 }
Ejemplo n.º 19
0
 private void BtnNextSong_OnClick(object sender, RoutedEventArgs e)
 {
     HyPlayList.SongMoveNext();
 }