Albert22
Старатель
- Регистрация
- 30 Мар 2008
- Сообщения
- 270
- Реакции
- 11
- Автор темы
- #1
Небезызвестный сервис Для просмотра ссылки Войди или Зарегистрируйся располагает достаточно обширной музыкальной базой, более того предоставляет Для просмотра ссылки Войди или Зарегистрируйся. Эти два факта, а также возможность прослушать короткие отрезки песен заинтересовали меня т.к. мне эта самая прослушка для одного проекта со списком песен очень кстати.
Я начал с того что тупо скопипастил исходный код плеера на их сайте. Вот как он выглядит Для просмотра ссылки Войдиили Зарегистрируйся:
После небольшой обработки напильником он приобрёл следующий вид (таким я его у себя на сайте и разместил)
Самая важная там эта строка:
В оригинале там присутствует ещё и resourceID=1016509. Я не знал что это, и попробовал убрать его.
Работать продолжило, и я забыл об этой строке.
Вообще, самое чёткое у них — то, что передаёшь только исполнителя и название песни и ему этого хватает! Очень гибко и удобно.
Но, плеер за рамками их сайта работает дубово — многие кнопки (типа «Buy this CD») не работают. Мне этот вариант не очень нравится (а если бы работали — тем более бы не понравился), поэтому я начал выискивать откуда их проигрыватель достаёт эти mp3 сэмплы чтобы их потом передать этому плееру.
Наверняка где-то есть некий php скрипт который принимает
resname=What+a+Wonderful+World&restype=track&artist=Louis+Armstrong
а в ответ выдаёт ссылку на вот это:
Кстати, я потом нашёл что это за resourceID=1016509 благодаря тем самым API: это элемент id
Для просмотра ссылки Войдиили Зарегистрируйся
Итак, всё, что передаётся их плееру на их сайте у меня есть: это исполнитель и название песни, а также resourceID, который легко достаётся из их же общедоступного XML источника.
Вот мне и интересно, как достать mp3 сэмпл для конкретной песни? Чтобы потом передать его какому-то стороннему плееру наподобие Для просмотра ссылки Войдиили Зарегистрируйся и успокоиться...)
Добавлено через 15 минут
UPD:
Обратил повышенное внимание на
Попробовал методом тыка подсунуть туда полученный посредством XML id, соответственно вот что получилось:
Я начал с того что тупо скопипастил исходный код плеера на их сайте. Вот как он выглядит Для просмотра ссылки Войди
Код:
<div style="visibility: visible;" id="lfmPlayer_container">
<embed type="application/x-shockwave-flash" src="http://cdn.last.fm/webclient/s12n/s/5/lfmPlayer.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" menu="true" quality="high" wmode="transparent" bgcolor="#fff" flashvars="lang=en&lfmMode=playlist&FOD=true&resourceID=1016509&resname=What+a+Wonderful+World&restype=track&artist=Louis+Armstrong&albumArt=http%3A%2F%2Fuserserve-ak.last.fm%2Fserve%2F64s%2F21596561.jpg" allowscriptaccess="always" allowfullscreen="true" id="lfmPlayer" name="lfmPlayer" swliveconnect="true" align="middle" width="300" height="221">
</div>
<script>
var lfmPlayer_params = {"movie":"http:\/\/cdn.last.fm\/webclient\/s12n\/s\/5\/lfmPlayer.swf","flashvars":"lang=en&lfmMode=playlist&FOD=true&resourceID=1016509&resname=What+a+Wonderful+World&restype=track&artist=Louis+Armstrong&albumArt=http%3A%2F%2Fuserserve-ak.last.fm%2Fserve%2F64s%2F21596561.jpg","width":300,"height":221,"majorversion":7,"build":"0","allowscriptaccess":"always","allownetworking":"all","allowfullscreen":"true","quality":"high","bgcolor":"#fff","wmode":"transparent","menu":"true","id":"lfmPlayer","setcontainercss":false,"swliveconnect":"true","name":"lfmPlayer","align":"middle"};
UFO.create(lfmPlayer_params, "lfmPlayer_container");
</script>
Код:
<object type="application/x-shockwave-flash" data="http://cdn.last.fm/webclient/s12n/s/5/lfmPlayer.swf" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
id="lfmPlayer" name="lfmPlayer" align="middle"
width="300" height="221">
<param name="movie" value="http://cdn.last.fm/webclient/s12n/s/5/lfmPlayer.swf" />
<param name="flashvars" value="lang=ru&lfmMode=playlist&FOD=true&resname=What+a+Wonderful+World&restype=track&artist=Louis+Armstrong&autostart=true" />
<param name="allowScriptAccess" value="always" />
<param name="allowNetworking" value="all" />
<param name="allowFullScreen" value="true" />
<param name="quality" value="high" />
<param name="bgcolor" value="fff" />
<param name="wmode" value="transparent" />
</object>
Код:
<param name="flashvars" value="lang=ru&lfmMode=playlist&FOD=true&resname=What+a+Wonderful+World&restype=track&artist=Louis+Armstrong&autostart=true" />
Работать продолжило, и я забыл об этой строке.
Вообще, самое чёткое у них — то, что передаёшь только исполнителя и название песни и ему этого хватает! Очень гибко и удобно.
Но, плеер за рамками их сайта работает дубово — многие кнопки (типа «Buy this CD») не работают. Мне этот вариант не очень нравится (а если бы работали — тем более бы не понравился), поэтому я начал выискивать откуда их проигрыватель достаёт эти mp3 сэмплы чтобы их потом передать этому плееру.
Наверняка где-то есть некий php скрипт который принимает
resname=What+a+Wonderful+World&restype=track&artist=Louis+Armstrong
а в ответ выдаёт ссылку на вот это:
которое редиректит на ту самую превьюшку для их плеера:Для просмотра ссылки Войдиили Зарегистрируйся
Эти ссылки я достал вручную через плагин-медиаграббер Firefox'a. А нужно это сделать автоматически и на PHP.Для просмотра ссылки Войдиили Зарегистрируйся
Кстати, я потом нашёл что это за resourceID=1016509 благодаря тем самым API: это элемент id
Для просмотра ссылки Войди
Код:
<lfm status="ok">
<track>
<id>1016509</id>
<name>What a Wonderful World</name>
<url>
http://www.last.fm/music/Louis+Armstrong/_/What+a+Wonderful+World
</url>
<duration>134000</duration>
<streamable fulltrack="0">1</streamable>
<listeners>215073</listeners>
<playcount>891826</playcount>
<artist>
<name>Louis Armstrong</name>
<mbid>eea8a864-fcda-4602-9569-38ab446decd6</mbid>
<url>http://www.last.fm/music/Louis+Armstrong</url>
</artist>
<album position="13">
<artist>Louis Armstrong</artist>
<title>Greatest Hits</title>
<mbid>9b07899a-57bd-491c-8360-355e6ee9b2bb</mbid>
<url>
http://www.last.fm/music/Louis+Armstrong/Greatest+Hits
</url>
<image size="small">http://userserve-ak.last.fm/serve/64s/21596561.jpg</image>
<image size="medium">http://userserve-ak.last.fm/serve/126/21596561.jpg</image>
<image size="large">
http://userserve-ak.last.fm/serve/174s/21596561.jpg
</image>
</album>
... вырезал ...
</track>
</lfm>
Вот мне и интересно, как достать mp3 сэмпл для конкретной песни? Чтобы потом передать его какому-то стороннему плееру наподобие Для просмотра ссылки Войди
Добавлено через 15 минут
UPD:
Обратил повышенное внимание на
Как видим, там единственный задающий параметр — 111088900.Для просмотра ссылки Войдиили Зарегистрируйся
Попробовал методом тыка подсунуть туда полученный посредством XML id, соответственно вот что получилось:
Я не знаю совпадение ли это или ответ на вышепоставленный вопрос, но заиграла та же композиция, но в другой версии...Для просмотра ссылки Войдиили Зарегистрируйся