Тема: Как вывести содержимое из XML в PHP
Есть XML страница: http://api.radionomy.com/currentsong.cf … evious=yes
Как из нее вывести данные на php страницу
нужно так:
1 - cover
2 - artists
3 - title
Первый русскоязычный форум посвященный интернет-радиовещанию
Форум интернет радио Icecast и Shoutcast → Технологии вещания, софт, скрипты → Как вывести содержимое из XML в PHP
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Есть XML страница: http://api.radionomy.com/currentsong.cf … evious=yes
Как из нее вывести данные на php страницу
нужно так:
1 - cover
2 - artists
3 - title
simplexml_load_string
или
simplexml_load_file
Могу написать полностью рабочий скрипт за $5
вот дальше руками что надо
$hh = curl_init();
$url = "домен: порт";
curl_setopt( $hh, CURLOPT_URL, $url );
curl_setopt( $hh, CURLOPT_RETURNTRANSFER, 1 );
$result = curl_exec( $hh );
curl_close( $hh );
$dom = new domDocument;
$dom->loadHTML( $result );
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName( 'table' );
$rows = $tables->item( 2 )->getElementsByTagName( 'tr' );
foreach ($rows as $row) {
$cols = $row->getElementsByTagName( 'td' );
// echo $cols->item(0)->nodeValue . ' ';
// echo $cols->item(1)->nodeValue . ' ';
if (strpos( $cols->item(0)->nodeValue, "Сейчас играет" ) !== false) {
echo $cols->item(1)->nodeValue;
break;
}
}
скрипт с сайта beta-radio.ru
Для чего городить огород с курлом, который у человека может быть и не установлен.
Можно все сделать проще:
<?php
$data=file_get_contents("http://api.radionomy.com/currentsong.cfm?radiouid=f1db3dd5-c4e3-41df-a2d1-ece1a93127d6&apikey=1ac65a51-d6e4-4975-b22c-703b926be25d&callmeback=yes&type=xml&cover=yes&previous=yes");
preg_match("|<artists>(.+?)</artists>|is", $data, $out);
echo 'Исполнитель - '.$out[1].'<br />';
preg_match("|<title>(.+?)</title>|is", $data, $out);
echo 'Композиция - '.$out[1].'<br />';
?>
Таким же образом и cover. Но он в файле пустой.
Отредактировано insun (12-03-2016 04:05:02)
Мое радио первый месяц вещания на https://www.radionomy.com через программу RadioBoss и сервер https://myradiostream.com нормально отображало названия песен (только англоязыные). Но в последние 2 недели звучит, но без названий. Кто знает, как лечится проблема? В общих настройках Босса - Отчеты по умолчанию HTTP уведомления ничего писать не надо?
А вы из какой страны?
Насколько мне известно, они закрылись для стран СНГ уже год назад их потоки не работают для многих слушателей.
Сам давно не проверял, но вот новость из поиска гугла:
Дорогие друзья, прежде чем вы начнёте читать текст о создании полностью бесплатного онлайн радио с автодиджеем на базе Radionomy, хочу Вас предупредить, что 10 мая 2016 года прослушивание радиостанций с данного сервиса заблокировано из некоторых стран. К сожалению, в их числе оказались Россия, Украина, Беларусь и другие государства бывшего СССР. Так что, инструкция по созданию радио на Radionomy теперь пригодится разве что русскоязычным жителям зарубежных стран.
Отредактировано Myradio24.com (13-03-2017 22:02:41)
Да хватит тут уже фигней заниматься, спрашиваем в их узконаправленных сообществах. Вы чего хотите - мы тут с ними разберемся и все расскажем чтоле? Тему смотрели? Там просто вывести не могли данные.
пишет Myradio24.com:
А вы из какой страны?
Насколько мне известно, они закрылись для стран СНГ уже год назад их потоки не работают для многих слушателей.
Сам давно не проверял, но вот новость из поиска гугла:Дорогие друзья, прежде чем вы начнёте читать текст о создании полностью бесплатного онлайн радио с автодиджеем на базе Radionomy, хочу Вас предупредить, что 10 мая 2016 года прослушивание радиостанций с данного сервиса заблокировано из некоторых стран. К сожалению, в их числе оказались Россия, Украина, Беларусь и другие государства бывшего СССР. Так что, инструкция по созданию радио на Radionomy теперь пригодится разве что русскоязычным жителям зарубежных стран.
Не знаю, что вы там читали, но я тоже из одной из стран СНГ и создал недавно радио в radionomy.com и могу слушать там как свое так и любые другие.
Кстати, на https://myradio24.com/ на самом деле можно создать (и круглосуточно транслировать) свое радио или и там есть "подводные камни"?
Кто знает, как отобразить обложку альбома с которого звучит текущая песня? Как это реализовано здесь http://tunein.com/radio/80s80s-Depeche-Mode-s267951/. Глянув в Информацию о странице (этого радио) можно скопировать адрес картинки и увеличить ее во весь экран.
Отредактировано Rodos (16-03-2017 08:29:47)
На tunein можно отправить только метаданные, смотрим здесь, а обложку они увы сами черт знает откуда берут.
Rodos, странно, знакомый отписал что они всё ещё блокируют некоторые страны.
У нас хостинг радио с разными тарифами, с недавнего времени есть и бесплатный тариф.
Про подводные камни не знаю что вы имеете ввиду. Напишите нам лично, ответим на все вопросы.
Обложки у нас тоже есть, но только в дорогих тарифах с АвтоDJ PRO.
пишет Myradio24.com:
Rodos, странно, знакомый отписал что они всё ещё блокируют некоторые страны.
У нас хостинг радио с разными тарифами, с недавнего времени есть и бесплатный тариф.
Про подводные камни не знаю что вы имеете ввиду. Напишите нам лично, ответим на все вопросы.
Обложки у нас тоже есть, но только в дорогих тарифах с АвтоDJ PRO.
На самом radionomy.com даже русские буквы блокируются. Но стоит скопировать адрес потока любого играющего на нем радио и вставить в плеер (или перекинуть его в другой сайт-каталог), то названия песен на любых языках (хоть на русском на вьетнамском или венгерском) корректно отображаются.
Что касается вашего сервера, интересует только бесплатный вариант в режиме онлайн. Но чтобы он не отдыхал по выходным (или когда пожелает) и чтобы названия песен на любых языках и обложки альбомов с которых играет текущая песня, тоже отображались. Вообще, технологию отображения обложки альбома с котoрого играет песня (как показaл выше ссылкой) кто-нибудь знает? Если такое возможно, подам заявку о вступлении в ваш радиоклуб.
Отредактировано Rodos (16-03-2017 19:22:04)
По ссылке выше не дождался ни одной обложки, обычно все сервисы используют какие либо базы чтобы выдавать картинки исполнителя или альбома. Также в самих mp3 файлах бывают встроенные обложки, но это редко и сервисов которые их выводят достаточно мало.
Дались Вам эти обложки, вы что же думаете, они из воздуха берутся чтоли. Тут каждый делает как умеет, например если они есть в самом файле можно перед воспроизведением извлечь, дать линк. Можно обратиться к одному из api (itunes, lastfm, spotify, deezer, discogs, gracenote и тп.) и для Ваших метаданных получить картинку, можно спарсить наконец результаты поиска в google play, yandex music, да вобще откуда угодно и тоже использовать. Можно кешировать, можно хранить данные в базе, отдавать в виде json, xml, в виде готового html кода. Есть в конце концов готовые помочь сервисы вот и вот например. Поймите главное - радиохостинги не обязаны, этим заниматься, максимум что вы получите - это данные с одного - двух api, а там может быть что угодно, только не то что играет. Самый нормальный вариант - делайте сами, не можете - лучше заплатить, а чтоб просто так что-то где-то, да еще красиво - этого не будет.
пишет gyurgin_:
Дались Вам эти обложки, вы что же думаете, они из воздуха берутся чтоли. Тут каждый делает как умеет, например если они есть в самом файле можно перед воспроизведением извлечь, дать линк. Можно обратиться к одному из api (itunes, lastfm, spotify, deezer, discogs, gracenote и тп.) и для Ваших метаданных получить картинку, можно спарсить наконец результаты поиска в google play, yandex music, да вобще откуда угодно и тоже использовать. Можно кешировать, можно хранить данные в базе, отдавать в виде json, xml, в виде готового html кода. Есть в конце концов готовые помочь сервисы вот и вот например. Поймите главное - радиохостинги не обязаны, этим заниматься, максимум что вы получите - это данные с одного - двух api, а там может быть что угодно, только не то что играет. Самый нормальный вариант - делайте сами, не можете - лучше заплатить, а чтоб просто так что-то где-то, да еще красиво - этого не будет.
Я конечно не собираюсь перед озвучиванием каждой песни выгружать куда-то картинки. Но если достаточно где-то в настройках РадиоБосса прописать один раз какой-то адрес или код, то хотел-бы знать что и куда вписать. Наверное у каждого каталога есть свой api, т.е. для каждого сервера нужно один раз прописать его уникальный код. Например, для вывода названий песен на tunein.com, я вписал в Настройки - Отчеты - НТТР уведомления одну строку. А вот что надо вписать туда для отображения обложек я не знаю.
А radionomy.com тоже странный. В первые месяцы вещания отображал у себя названия треков (пусть только англоязычные), но в последний месяц названий вообще нет. Не могу понять что сбилось в настройках Босса..
Только что мне ответили с https://www.acrcloud.com
Thank you for contacting us. Sorry we don't provide the album cover. Here are the metadata we return:
https://www.acrcloud.com/docs/metadata/music/
Let us know if there is anything else we can help.
Меня перенаправили на https://www.acrcloud.com/docs/metadata/music/ Kуда вписывается код, что на странице?
{
"status": {
"msg": "Success",
"code": 0,
"version": "1.0"
},
"metadata": {
"music": [
{
"external_ids": {
"isrc": "GBUM71604605",
"upc": "00602557484939"
},
"sample_begin_time_offset_ms": "0",
"label": "(C) 2017 Lana Del Rey, under exclusive licence to Polydor Ltd. (UK). Under exclusive licence to Interscope Records in the USA",
"external_metadata": {
"spotify": {
"album": {
"id": "4vwkTKo2LxoaN5o0DgbXel"
},
"artists": [
{
"id": "00FQb4jTyendYWaN8pK0wa"
}
],
"track": {
"id": "0n2bvWvMwr0gbjcuTm92eW"
}
}
},
"play_offset_ms": 95980,
"artists": [
{
"name": "Lana Del Rey"
}
],
"sample_end_time_offset_ms": "7060",
"release_date": "2017-02-18",
"title": "Love",
"db_end_time_offset_ms": "91140",
"duration_ms": 278360,
"album": {
"name": "Love"
},
"acrid": "ed0a804bd653b54367ac86a61ee0c778",
"result_from": 3,
"db_begin_time_offset_ms": "84080"
}
],
"timestamp_utc": "2017-02-28 09:00:59"
},
"result_type": 3
}
Отредактировано Rodos (17-03-2017 08:41:16)
Никуда оно не вставляется, это JSON данные которые видимо их сервис возвращает в отношении треков которые загружены к ним.
пишет Myradio24.com:
Никуда оно не вставляется, это JSON данные которые видимо их сервис возвращает в отношении треков которые загружены к ним.
То есть, я даю им адрес потока и они выводят все данные о песне на свой сайт?
Кстати, они мне ответили, что обложку альбома они не умеют идентифицировать и отобразить (Sorry we don't provide the album cover. Here are the metadata we return.) Даже смешно. А на кой черт тогда нужен этот сервис?
Отредактировано Rodos (17-03-2017 14:21:31)
Ну если нет у Вас на выходе метаданных, а очень хочется, они как shazam определяют и отдают.
Честно говоря думал что в платной подписке они и картинки могут, ан нет.
Rodos, я не знаю зачем нужен этот сервис, мне это не понятно, это же облако какое то.
Отредактировано Myradio24.com (17-03-2017 21:26:21)
пишет Myradio24.com:
Rodos, я не знаю зачем нужен этот сервис, мне это не понятно, это же облако какое то.
Вообще, они мне сказали, что зарегистрировавшись на их сайте, пользователь может проверить работу их сервера (инфо o песне и все остальное). Может стоит их проверить?
Отредактировано Rodos (17-03-2017 22:53:39)
Что проверить, дядь? Что они твои песни определят - ну канеш это получится, но ты же хотел ковры...
И забудь наконец про пример с tunein, по факту - если видишь свои метаданные там и нет ковра то или трек слишком новый или метаданные у тебя не те.
У меня, да и у многих кому я делал доставку метаданных ковры включались тут же.
пишет gyurgin_:
У меня, да и у многих кому я делал доставку метаданных ковры включались тут же.
Уточните через какой сервер и программу вещания у вас получалось отправить тут же обложку.
Да ни через какую, я Вам давал ссылку на api, вот там все прочтите, не трудно ведь? Вот пример.
Tunein покажет популярные, это не вопрос, потому и показываю олдскулл.
Вот смотрите - тут все всегда с картинкой, это вобще по имени делается без api.
Bigtunes в таком виде примера спецом и оставлен, хотя уже скоро будет снова жить (наседают диджеи)
На tunein в то же время показывает совершеннейший бред или ничего.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум интернет радио Icecast и Shoutcast → Технологии вещания, софт, скрипты → Как вывести содержимое из XML в PHP