Аудиозаписи ВКонтакте
|
|
ThePro94 | Дата: Пятница, 13.07.2012, 00:32 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Нужно загрузить список всех аудиозаписей со страницы вконтакте в ListBox. Есть код: Code procedure TForm1.Button3Click(Sender: TObject); begin a := IdHTTP1.Get('http://vk.com/audio.php'); // Получаем страничку пользователя begin Delete(a,1, Pos('http://cs',a)-1); // Удаляем лишнее b := Copy (a,1,(pos('.mp3', a) +3)); // ListBox1.Items.Add(b); end; end; Но загружается только первая аудиозапись. Как загрузить все?
|
|
| |
xaramamburu | Дата: Пятница, 13.07.2012, 23:41 | Сообщение # 2 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| ThePro94, Попробуйте так: Code procedure TForm1.Button3Click(Sender: TObject); begin a := IdHTTP1.Get('http://vk.com/audio.php'); // Получаем страничку пользователя begin while Pos('value="http://cs',a)<>0 do begin Delete(a,1, Pos('http://cs',a)-1); // Удаляем лишнее b := Copy (a,1,(pos('.mp3', a) +3)); // ListBox1.Items.Add(b); Delete(a,1,(pos('.mp3', a) +3)); // Удаляем лишнее end; end; end;
|
|
| |
ThePro94 | Дата: Суббота, 14.07.2012, 01:06 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Вот, теперь другое дело) Спасибо Еще пару вопросов: Как вместо ссылки в листбоксе выводить исполнителя и название трека? И как это воспроизвести? С воспроизведением пробовал что то сделать, загрузка песни идет, но не могу добавить и воспроизвести ее.
|
|
| |
xaramamburu | Дата: Воскресенье, 15.07.2012, 00:15 | Сообщение # 4 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| ThePro94, Воспроизвести можно используя библиотеку Bass. Смотрите урок по созданию интернет радио.
var channel:HStream;
procedure TForm1.ListBox1DblClick(Sender: TObject); begin BASS_StreamFree(channel); channel:=BASS_streamCreateURL(pansichar(AnsiString(ListBox1.Items.Strings[ListBox1.ItemIndex])), 0, BASS_STREAM_STATUS, nil, 0); BASS_ChannelPlay(channel, false); end;
А как получить теги из потока я не знаю (вообще возможно ли это?), но вся информация о аудиозаписях находится в коде HTML страницы, поэтому нужно писать парсер (что то аналогичное получению ссылок на аудиозаписи).))))))))))
|
|
| |
ThePro94 | Дата: Воскресенье, 15.07.2012, 00:26 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Quote (xaramamburu) А как получить теги из потока я не знаю (вообще возможно ли это?), но вся информация о аудиозаписях находится в коде HTML страницы, поэтому нужно писать парсер (что то аналогичное получению ссылок на аудиозаписи) в ID3 тегах должно все быть...Как можно скачать файл (в папку с программой) и добавить его в листбокс, заменив им ссылку в листбоксе?
Сообщение отредактировал ThePro94 - Воскресенье, 15.07.2012, 00:29 |
|
| |
xaramamburu | Дата: Воскресенье, 15.07.2012, 22:25 | Сообщение # 6 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| ThePro94, Ну если вы хотите в начале скачивать файл, а затем воспроизводить, то здесь думаю проблем больших нет. Для скачки можно использовать модуль UrlMon вот здесь есть пример его использования http://www.delphisources.ru/pages/faq/base/download_file.html . Ну и по работе с Id3 тегами можно использовать библиотеку Tags (пример и саму библиотеку можно взять здесь http://www.programmersforum.ru/showpost.php?p=398783&postcount=6 ), хотя есть и другие варианты работы с Id3 тегами например http://www.delphi.int.ru/articles/1/ , немного информации есть здесь на форуме http://basicsprog.ucoz.ru/forum/4-4-1 , http://basicsprog.ucoz.ru/forum/4-4-2 . Но скачивать файл, а затем его воспроизводить это не серьезно и очень медленно. Музыку надо воспроизводить прямо из контакта, например как сделано в VKAUDIO. Поэтому писать нужно потоковый плеер и воспроизводить музыку как я показал в предыдущем примере, а название и исполнителя парсить с HTML страницы.))))))
|
|
| |
ThePro94 | Дата: Воскресенье, 22.07.2012, 16:15 | Сообщение # 7 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Возник еще вопрос, уже по поводу тегов - как загрузить обложку альбома в Image? разобрался
Сообщение отредактировал ThePro94 - Понедельник, 23.07.2012, 12:27 |
|
| |
|