/// <summary> /// Возвращает список аудиозаписей в соответствии с заданным критерием поиска. /// </summary> /// <param name="params"> Критерии поиска </param> /// <returns> /// Список объектов класса Audio. /// </returns> /// <exception cref="System.ArgumentNullException"> Query is null or empty.;query </exception> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, /// содержащей Settings.Audio /// Страница документации ВКонтакте http://vk.com/dev/audio.search /// </remarks> public VkCollection <Audio> Search(AudioSearchParams @params) { if (string.IsNullOrWhiteSpace(value: @params.Query)) { throw new ArgumentNullException(paramName: nameof(@params.Query), message: "Query is null or empty."); } return(_vk.Call(methodName: "audio.search", parameters: @params).ToVkCollectionOf <Audio>(selector: r => r)); }
public VkCollection <Audio> Search(AudioSearchParams @params) { if (string.IsNullOrEmpty(@params.Query)) { throw new ArgumentNullException("Query is null or empty.", "query"); } return(_vk.Call("audio.search", @params).ToVkCollectionOf <Audio>(r => r)); }
public ReadOnlyCollection <Audio> Search(AudioSearchParams @params, out long totalCount) { if (string.IsNullOrEmpty(@params.Query)) { throw new ArgumentNullException("Query is null or empty.", "query"); } var response = Search(@params); totalCount = Convert.ToInt64(response.TotalCount); return(response.ToReadOnlyCollection()); }
/// <summary> /// Возвращает список аудиозаписей в соответствии с заданным критерием поиска. /// </summary> /// <param name="params">Критерии поиска</param> /// <param name="totalCount">Общее кол-во аудиозаписей, найденных по этим критериям</param> /// <returns>Список объектов класса Audio.</returns> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref="Settings.Audio"/>. /// Страница документации ВКонтакте <see href="http://vk.com/dev/audio.search"/>. /// </remarks> public ReadOnlyCollection <Audio> Search(AudioSearchParams @params, out ulong totalCount) { if (string.IsNullOrEmpty(@params.Query)) { throw new ArgumentException("Query is null or empty.", "query"); } VkResponseArray response = _vk.Call("audio.search", @params); totalCount = response[0]; return(response.Skip(1).ToReadOnlyCollectionOf <Audio>(r => r)); }
public ReadOnlyCollection <Audio> Search(AudioSearchParams @params, out long totalCount) { if (string.IsNullOrEmpty(@params.Query)) { throw new ArgumentNullException("Query is null or empty.", "query"); } var response = _vk.Call("audio.search", @params); totalCount = response["count"]; return(response["items"].ToReadOnlyCollectionOf <Audio>(r => r)); }
public ReadOnlyCollection <Audio> Search( string query, out long totalCount, bool?autoComplete = null, AudioSort?sort = null, bool?findLyrics = null, uint?count = null, uint?offset = null) { var parameters = new AudioSearchParams { Query = query, Autocomplete = autoComplete, Sort = sort, Lyrics = findLyrics, Count = Convert.ToInt32(count), Offset = offset }; return(Search(parameters, out totalCount)); }
/// <summary> /// запрос аудио /// </summary> /// <param name="query">Название группы или песни</param> /// <param name="_offset">Смещение поиска</param> private void GetAudio(string query, int _offset) { long i; var _music = new AudioSearchParams(); _music.Autocomplete = true; if (chkAuthor.IsChecked == true) { _music.PerformerOnly = true; } _music.Sort = VkNet.Enums.AudioSort.Popularity; _music.Count = 200; _music.Query = query; _music.Offset = _offset; var tmpList = App.AuthPublic.Audio.Search(_music, out i); foreach (var s in tmpList) { MusicClass chk = new MusicClass(); chk.Id = (int)s.Id; chk.Name = string.Format("{0} - {1}", s.Artist.Trim(), s.Title.Trim()); chk.Path = s.Url; chk.Duration = String.Format("{0}:{1:00}", s.Duration / 60, s.Duration - ((s.Duration / 60) * 60)); string _sUrl = s.Url.ToString().Substring(0, s.Url.ToString().IndexOf(".mp3") + 4); //TagLib.File _file = TagLib.File.Create(new VfsFileAbstraction()); //ICodec _codec = (ICodec)_file.Properties.Codecs; //IAudioCodec _acodec = _codec as IAudioCodec; //chk.Duration = _acodec.AudioBitrate.ToString(); if (listSearch.Where(p => p.Name.ToLower() == chk.Name.ToLower()).Count() < 1) { listSearch.Add(chk); } } lbxMusic.Items.Refresh(); }
/// <summary> /// Returns a list of audio files. /// </summary> /// <param name="methodParams">A <see cref="AudioSearchParams"/> object with the params.</param> /// <returns>Returns a <see cref="List{T}"/> of <see cref="Audio"/> objects.</returns> public async Task<Response<ItemsList<Audio>>> Search(AudioSearchParams methodParams) => await Request<ItemsList<Audio>>("search", methodParams);
public ReadOnlyCollection<Audio> Search(AudioSearchParams @params, out long totalCount) { if (string.IsNullOrEmpty(@params.Query)) { throw new ArgumentNullException("Query is null or empty.", "query"); } var response = _vk.Call("audio.search", @params); totalCount = response["count"]; return response["items"].ToReadOnlyCollectionOf<Audio>(r => r); }
/// <summary> /// Возвращает список аудиозаписей в соответствии с заданным критерием поиска. /// </summary> /// <param name="params">Критерии поиска</param> /// <returns> /// Список объектов класса Audio. /// </returns> /// <exception cref="System.ArgumentNullException">Query is null or empty.;query</exception> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref="Settings.Audio" />. /// Страница документации ВКонтакте <see href="http://vk.com/dev/audio.search" />. /// </remarks> public VkCollection<Audio> Search(AudioSearchParams @params) { if (string.IsNullOrEmpty(@params.Query)) { throw new ArgumentNullException("Query is null or empty.", "query"); } return _vk.Call("audio.search", @params).ToVkCollectionOf<Audio>(r => r); }
/// <inheritdoc /> public VkCollection <Audio> Search(AudioSearchParams @params) { return(_vk.Call <VkCollection <Audio> >("audio.search", @params)); }
/// <summary> /// Возвращает список аудиозаписей в соответствии с заданным критерием поиска. /// </summary> /// <param name="params">Критерии поиска</param> /// <param name="totalCount">Общее кол-во аудиозаписей, найденных по этим критериям</param> /// <returns>Список объектов класса Audio.</returns> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref="Settings.Audio"/>. /// Страница документации ВКонтакте <see href="http://vk.com/dev/audio.search"/>. /// </remarks> public ReadOnlyCollection<Audio> Search(AudioSearchParams @params, out ulong totalCount) { if (string.IsNullOrEmpty(@params.Query)) throw new ArgumentException("Query is null or empty.", "query"); VkResponseArray response = _vk.Call("audio.search", @params); totalCount = response[0]; return response.Skip(1).ToReadOnlyCollectionOf<Audio>(r => r); }
/// <inheritdoc /> public Task <VkCollection <Audio> > SearchAsync(AudioSearchParams @params) { return(TypeHelper.TryInvokeMethodAsync(() => Search(@params))); }