Пример #1
0
        //get tracks from vk user
        public void DownloadTracks(string[] data)
        {
            var userId = data[0];
            var token = data[1];
            Uri uri = new Uri("https://api.vk.com/method/audio.get.xml?owner_id=" + userId + /*"&count=50" + */"&access_token=" + token + "&v=5.9");

            var x = new XmlDocument();
            x.Load(uri.ToString());
            var audioElements = x.ChildNodes[1].ChildNodes[1];

            tracks.Clear();

            int length = audioElements.ChildNodes.Count;

            for (int i = 0; i < length; i++)
            {
                var audio = new AudioVK(audioElements.ChildNodes[i]);
                tracks.Add(audio);
            }
        }
Пример #2
0
 public void AddToStart(AudioVK track)
 {
     tracks.Insert(0, track);
 }
Пример #3
0
        internal void Edit(AudioVK editedTrack, string trackName, string artistName, string vkToken)
        {
            trackName = fixName(trackName);
            artistName = fixName(artistName);

            Uri uri = new Uri("https://api.vk.com/method/audio.edit.xml?owner_id=" + editedTrack.owner_id + "&audio_id=" + editedTrack.aid + "&artist=" + artistName + "&title=" + trackName + "&access_token=" + vkToken + "&v=5.9");

            var xml = new XmlDocument();
            xml.Load(uri.ToString());
        }
Пример #4
0
 public void Add(AudioVK track)
 {
     tracks.Add(track);
 }
Пример #5
0
        internal void DownloadTracksByQuery(string token, string queryString)
        {
            Uri uri = new Uri("https://api.vk.com/method/audio.search.xml?q=" + queryString + "&count=300" + "&access_token=" + token + "&v=5.9");

            var x = new XmlDocument();
            x.Load(uri.ToString());
            var audioElements = x.ChildNodes[1].ChildNodes[1];

            tracks.Clear();

            int length = audioElements.ChildNodes.Count;

            for (int i = 0; i < length; i++)
            {
                var child=audioElements.ChildNodes[i];
                if (child.HasChildNodes)
                {
                    var audio = new AudioVK(child);
                    tracks.Add(audio);
                }
            }
        }
Пример #6
0
        internal void DownloadReccomendations(string vkToken, AudioVK selAudio)
        {
            Uri uri = new Uri("https://api.vk.com/method/audio.getRecommendations.xml?target_audio=" + selAudio.owner_id + "_" + selAudio.aid + "&count=300&shuffle=1" + "&access_token=" + vkToken + "&v=5.9");

            var x = new XmlDocument();
            x.Load(uri.ToString());
            var audioElements = x.ChildNodes[1].ChildNodes[1];

            tracks.Clear();

            int length = audioElements.ChildNodes.Count;

            for (int i = 0; i < length; i++)
            {
                var audio = new AudioVK(audioElements.ChildNodes[i]);
                tracks.Add(audio);
            }
        }
Пример #7
0
        internal void DownloadAlbumTracks(string userId, string token, string albumId)
        {
            Uri uri = new Uri("https://api.vk.com/method/audio.get.xml?owner_id=" + userId + "&album_id=" + albumId + "&access_token=" + token + "&v=5.9");

            var x = new XmlDocument();
            x.Load(uri.ToString());
            var audioElements = x.ChildNodes[1].ChildNodes[1];

            tracks.Clear();

            int length = audioElements.ChildNodes.Count;

            for (int i = 0; i < length; i++)
            {
                var audio = new AudioVK(audioElements.ChildNodes[i]);
                tracks.Add(audio);
            }
        }
Пример #8
0
        public async void SendTrackToFriends(AudioVK audio, string[] userIds)
        {
            await Task.Factory.StartNew(() =>
            {
                if (userIds.Length == 0)
                    return;
                var attachment = "audio" + audio.owner_id + "_" + audio.aid;
                string userTo = String.Join(",", userIds);
                Uri uri = new Uri("https://api.vk.com/method/messages.send.xml?" + "user_ids=" + userTo + "&attachment=" + attachment + "&access_token=" + access_token + "&v=5.21");

                var x = new XmlDocument();
                x.Load(uri.ToString());
                if (x.ChildNodes[1].Name == "error")
                    if (x.ChildNodes[1].ChildNodes[0].InnerText == "9")
                        System.Windows.MessageBox.Show("Ви дуже часто відправляєте трек.");
                    else
                        System.Windows.MessageBox.Show("Помилка при відправці.");

            });
        }
Пример #9
0
 public void LoadReccomendationsByAudio(AudioVK audio)
 {
     _audio = audio;
     recommedPlaylist.DownloadReccomendations(vkToken, _audio);
 }