1

Тема: Отображения фото артиста

Привет всем! Скажите пожалуйста , кто ни будь делал вывод фото артиста? В общем идея такая. При выводе трека , рядом выводится фото исполнителя.  Можно конечно создать базу с фото, но думаю что есть лучшие варианты. Например сделать парсер который будет делать запросы в поисковых системах. Если кто то уже такое делал , прошу поделится))

http://uafm.org - UKRAINIAN INTERNET RADIO STATION

2

Re: Отображения фото артиста

я делал через last.fm API, можно даже на аяксе без php

сейчас поищу у себя...

3

Re: Отображения фото артиста

Это тестовый кусок, вводим имя артиска - получаем инфо о нем и фото

<link rel="stylesheet" type="text/css" href="template/styles.css">
<script type="text/javascript" src="template/ajax.js"></script> 
<script type="text/javascript">
<!--
function call_lastfm(artist){
var file = 'http://ws.audioscrobbler.com/2.0/';
var artist_info = new Array();
artist_info = new sack();
artist_info.requestFile = file;
artist_info.setVar('method', 'artist.getinfo');
artist_info.setVar('api_key', 'b25b959554ed76058ac220b7b2e0a026');
artist_info.setVar('artist', artist);
artist_info.onCompletion = function(){
document.getElementById('artist_info').innerHTML = "<span class=\"imagefloatright\"><img src=\"" + artist_info.responseXML.getElementsByTagName('image')[2].textContent + "\"  /></span>" + artist_info.responseXML.getElementsByTagName('summary')[0].textContent; 

}
artist_info.runAJAX();
}
//-->
</script>

<form onsubmit="call_lastfm(this.artist.value); return false;">
<input type=text name=artist>
<input type=submit>
</form>
<div id="artist_info"></div>

нужен еще скрипт ajax.js

дорабатывайте сами

Отредактировано tarasian666 (08-07-2012 14:50:11)

4

Re: Отображения фото артиста

Спасибо. Сейчас я понял что я вообще нуль в PHP и AJAX. Немогу никак привязать к Icecast .

http://uafm.org - UKRAINIAN INTERNET RADIO STATION

5

Re: Отображения фото артиста

Можете поделится еще своей версией подключения к icecast. ??

http://uafm.org - UKRAINIAN INTERNET RADIO STATION

6

Re: Отображения фото артиста

Давно хотел сделать это, всё никак руки не доходили.
Таки работает)

7

Re: Отображения фото артиста

пишет Render:

Давно хотел сделать это, всё никак руки не доходили.
Таки работает)

Render, не поделишься скриптом?:-)

Fu** Pop, just Dance!

8

Re: Отображения фото артиста

пишет Psyhodelic:

пишет Render:

Давно хотел сделать это, всё никак руки не доходили.
Таки работает)

Render, не поделишься скриптом?:-)

У меня он немного специфичным получился в плане парсинга и реализации, пришлось php использовать для своих задач, поэтому к тебе сразу так не подойдёт, если только переделывать будешь после меня мой кривой код.
По сути ничего сложно нет в этом:
- парсишь по артисту данные с ласт фм
- регуляркой вытаскиваешь только линк на фото
- аяксом или как удобнее, подгружаешь в див id
В любом случае если интересно, покажу тебе php файлик, в лс на live-co или вк, ибо здесь как-то рандомно лс работает)

Re: Отображения фото артиста

создал php страницу чтобы тупо проверить предоставленый пример. внутри есесьно хтмл код . Аякс в хеде все как положено!. Но ладно бы сам процесс не шел дак даже форму не отображает. просто пустая страница. это так и должно быть? )

Так, после нехитрых манипуляций форма на странице таки показалась. Но при вводе туда исполнителя ничего не происходит.


А во . Извиняйте за тревогу. шалил ключ и права доступа ))

Отредактировано Всё-просто (13-12-2012 18:41:22)

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

10

Re: Отображения фото артиста

ключ они время от времени меняют, так что желательно использовать свой сгенерированый ключ

Re: Отображения фото артиста

Спасибо за совет, а есть ли способ такой же не менее простой чтобы скрипт получал данные из статусной строки icecast , я попробовал просто пробить целую сттроку выводимого трека в icecast по формату исполнитель - трек , скрипт не ищет фотографию.

И где сгенерить свой кей , что то я невижу там )

Отредактировано Всё-просто (13-12-2012 19:00:51)

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

12

Re: Отображения фото артиста

если брать с icecast то надо разбивать на артиста и трек, например брать разделитель " - " и совать в скрипт только исполнителя
лучше конечно брать название артиста из базы к примеру если используется sam или еще что то что умеет брать только артиста из файла что транслируется
таким же макаром можно брать обложку альбома

http://www.last.fm/api/account/create где-то там

Re: Отображения фото артиста

у нас  базы не используются. Я даже не знаю можно какой то пример кода, как разделить выводимый current song на на до "-" и после дефиса?

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

14

Re: Отображения фото артиста

$str = 'Артист - Трек';
$str_ar = explode(" - ", $str, 2);
echo $str_ar[0];  // Выведет Артист
echo $str_ar[1];  // Выведет Трек

Отредактировано Leff27 (13-12-2012 20:13:04)

15

Re: Отображения фото артиста

javascript

var str ="artist - track";

str.split(" - ");

var artist = str[0];

Re: Отображения фото артиста

Спасибо еще нашел тут http://radiotalk.ru/viewtopic.php?pid=18712#p18712 , ща наколдую че нибудь! )

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

Re: Отображения фото артиста

Наведите на путь истинный пожалуйста!

Воспользовался представленной php версией

Получил таки данные с $str_ar[0] , мозгую как сделать так чтобы при получении названия артиста перед ним еще картинку выводило сразу же. Последнее что немогу обмозговать это как этот $str_ar[0] автоматом всунуть в скробб?

Отредактировано Всё-просто (13-12-2012 21:13:46)

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

Re: Отображения фото артиста

я как бы прочитал как из php передать переменную в ajax только какое именно значение ajax  в данном примере "принимающее" мне не совсем понятно.

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

19

Re: Отображения фото артиста

<form onsubmit="call_lastfm(this.artist.value); return false;">

отсюда

call_lastfm(название_артиста) далее функиция делает то что в ней заложено

Re: Отображения фото артиста

пишет tarasian666:

<form onsubmit="call_lastfm(this.artist.value); return false;">

отсюда

call_lastfm(название_артиста) далее функиция делает то что в ней заложено

Я уже это пробывал
т.е. пробовал подсунуть вместо this artist value madonna big_smile
но нет никакой реакции.  )

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

21

Re: Отображения фото артиста

в кавычки? елемент с ид artist_info пристутсвует? функция чем вызывается?

Re: Отображения фото артиста

и в кавычках и без них.
див на месте.
Всё работает если пользоваться представленной формой с вписанной перменной в value из скрипта статистики

<form onsubmit="call_lastfm(this.artist.value); return true;">
<input type=text name=artist value="<?php echo $str_ar[0]; ?>">
<input type=submit>
</form>

 

Все работает но не так как хотелось. бы. я ж не буду ходить и предлагать каждому слушателю нажать на кнопку big_smile

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

Re: Отображения фото артиста

Если б хотя бы эта  кнопка нажималась \при загрузке страницы  (автоматом) я бы спрятал форму под див display:none и был бы на этом доволен...

За неимением знаний шарю гугл .
Вариантами инет не богат , нашел такое решение .

window.onload = function(){document.getElementsByTagName('form')[0].submit();};

однако страница обновляется как сумасшедсшая бесконечное число раз, фотку артиста так и не показывает. И это вообще как  то не рентабельно!

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

24

Re: Отображения фото артиста

Facepalm

onload = function(){
call_lastfm("<?php echo $str_ar[0]; ?>");
}

Re: Отображения фото артиста

О блин. Весь секрет в создании события. куринная моя память. спасибо Вам )

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile