[Сайт] Вывод названия трека, обложки и списка проигранных треков

rsv

Member
scorp сказал(а):
rsv сказал(а):
Три страницы общения ни о чем, а ответа нет.
Вы меня извините, но это уже действительно не смешно. Спрашивать о таких вещах не имея ни малейшего понятия о том как обрабатывать XML или преобразовать его в JSON (что делается просто элементарно), как получить время уведомления, как сложить время старта и продолжительность трека, чтобы получить его время окончания и т.д. и не задействуя элементарную логику... это действительно не смешно...
Вы или нанимайте специалиста или не морочьте голову.. Вам уже дали как минимум 3 простых решения, но вы не сообразили ни одно из них... это уже не просто - не смешно, это печально...
Если у Вас нет конкретного ответа на вопрос, то лучше наверное удержаться от ответа. Очень тяжело что то найти на форуме. Вы же не разработчик, а размышлять я также умею. Все, кто пишет на форуме, хотят получить конкретные шаги или хотя бы понять логику работы программы. Не всегда есть возможность перечитывать большые мануалы, да иногда ответы в них изложены слишком лаконично, и надо спрашивать, как это использовать и где. Вы же также часто спрашиваете, и не получаете ответа, или получаете ответ, коротый Вас не удовлетворяет. И если то, о чем я спрашиваю, делается элементарно, тогда почему Вы не привели конкретного работающего примера? Описать то, как гипотетически это должно работать, легко. Перечитывая Ваши ответы, складывается впечатление, что Вы с этим не стыкались на практике еще. Спасибо, конечно за то, что хоть как то хотели помочь. То, что Вы предлагаете, я перепробовал. Я также пересмотрел весь англоязычный форум, кстати, там ответа также нет. Тот код, что приводится, не парсит xml данные. Значит, они или просто не передаются, или не правильно вытягиваются.
Нужно ли в уведомлениях описывать переменные, например, starttime=%starttime, и другие, которые вытигиваются из команды getplaylist2?

Сожержимое файла, в который передается плейлист:
$xmlgetplaylist2 = file_get_contents("http://ip?pass=...&action=getplaylist2");
file_put_contents("filex.xml", $xmlgetplaylist2);

$Playlist = new SimpleXMLElement($xmlgetplaylist2);
foreach ($Playlist->track as $track) {
  echo $track->casttitle, '.... ', $track->starttime, PHP_EOL;
}



Ошибка Notice: Undefined index: key in... также не решена на англоязычном форуме. Она зависит от версии php или чего?
 

djsoft

Administrator
Команда форума
rsv сказал(а):
Я спрашиваю через какую переменную передается время начала трека. Или как передать через уведомления.
Но ведь время начала трека равно времени получения уведомления, зачем это вообще передавать? Какой конечный результат требуется?

rsv сказал(а):
Если у Вас нет конкретного ответа на вопрос, то лучше наверное удержаться от ответа. Очень тяжело что то найти на форуме. Вы же не разработчик, а размышлять я также умею. Все, кто пишет на форуме, хотят получить конкретные шаги или хотя бы понять логику работы программы
А в чем суть вопроса, чтобы кто-то взял и сделал все за вас? Это уже не вопрос тогда. Программа выдает данные через API и уведомления, как их использловать - зависит от ваших нужд, и это целиком ваша задача. Создавать систему вам нужно или самостоятельно, или нанимать кого-то, кто это сделает вам.

rsv сказал(а):
Ошибка Notice: Undefined index: key in... также не решена на англоязычном форуме. Она зависит от версии php или чего?
Что не решено, можно ссылку? Этот вопрос вообще никак к программе не относится, если пишете на PHP, нужно разбираться в этом языке, как работать с данными и т.п. У вас ошибка, как минимум: вместо $track->casttitle должно быть $track['CASTTITLE'] - регистр символов имеет значение, плюс CASTTITLE это атрибут, а не вложенный элемент.
 

scorp

Active member
rsv сказал(а):
То, что Вы предлагаете, я перепробовал.
Если перепробовали, то что конкретно не получается?

rsv сказал(а):
Ошибка Notice: Undefined index: key in... также не решена на англоязычном форуме. Она зависит от версии php или чего?
Она зависит от того, что человек не изучил базовые функции языка прежде чем начинать писать код. И решается она не на англоязычном форуме, а с помощью гугла, как собственно и вся Ваша задача. От РБ требуется вообще минимум просто включить АПИ и посмотреть в справочнике команды и все. Остальное гуглить, изучать - или бесплатно или платить за курсы или платить кому-то...

Ладно, коль уж Вы такой лентяй, набросал вам тут за чашкой чаю код (простой как валенок)
https://paiza.io/projects/e/j2nU6K6dVgu10Nc3zTJ1Fw?theme=idle_fingers - надеюсь осилите

 

rsv

Member
Большое спасибо за помощь. Попробую адаптировать код. У меня задание чуть отличается, но напрягать уже не хочу.
А то что Вы пишете,
scorp сказал(а):
человек не изучил базовые функции языка прежде чем начинать писать код.
я не изучал php вообще. И он мне не пригодится. Просто возникла задача, которую надо решить. Примеров в интернете много, а толковых нет.
 

scorp

Active member
rsv сказал(а):
Примеров в интернете много, а толковых нет.
Ну так любой пример нужно смотреть и наиболее подходящий адаптировать под себя. Все очень хорошо гуглится.

rsv сказал(а):
У меня задание чуть отличается
Ну уточните, что нужно и как, попробуем скорректировать...
 

rsv

Member
scorp сказал(а):
Ну уточните, что нужно и как, попробуем скорректировать...

Вот что получилось...


$Playlist = new SimpleXMLElement($xmlgetplaylist2);

foreach ($Playlist->TRACK as $track) {
$data [] = array(
"show_id" => date('N').$STARTTIME = date("H", strtotime($track['STARTTIME'])).$ENDTIME = date("i", strtotime($track['STARTTIME'])),
"show_time" => date("H:i", strtotime($track['STARTTIME'])),
"show_time_end" => date("H:i", strtotime($track['STARTTIME'])+timeToSec($track['DURATION'])),
"show_title" => $track['CASTTITLE'],
);
}

file_put_contents($jFile, json_encode($data));

Выводится файл json, но ошибка в том, что $track['CASTTITLE'] - обьект, а надо перевести в строку.
"show_id" - получается от номера недели, часа и минут начала трека.
Нашел, что можна писать (string) $track['CASTTITLE'] - выдает строку, но правильно ли, не знаю.

С циклом for еще не разобрался(

 

scorp

Active member
rsv сказал(а):
С циклом for еще не разобрался(

А зачем он вам нужен этот for? И зачем вообще переводить в JSON? когда можно просто разобрать XML и получить те же данные, я ж вам привел по сути готовый рабочий пример.
Или вам принципиально нужно в JSON?

ок, можно так (добавил пример с выводом в JSON) - https://paiza.io/projects/j2nU6K6dVgu10Nc3zTJ1Fw
 

rsv

Member
scorp сказал(а):
rsv сказал(а):
С циклом for еще не разобрался(

А зачем он вам нужен этот for? И зачем вообще переводить в JSON? когда можно просто разобрать XML и получить те же данные, я ж вам привел по сути готовый рабочий пример.
Или вам принципиально нужно в JSON?

ок, можно так (добавил пример с выводом в JSON) - https://paiza.io/projects/j2nU6K6dVgu10Nc3zTJ1Fw

Спасибо большое. Все выводится правильно, но проверяю на валидность и пишет, что хочет кодировку uff8.
 

scorp

Active member
rsv сказал(а):
что хочет кодировку uff8
Ну попробуйте поставите в скрипт в самом верху сразу после открывающего тега <?php указание кодировки, вот так:
header('Content-Type: text/html; charset=utf-8');
 

djsoft

Administrator
Команда форума
rsv сказал(а):
я не изучал php вообще. И он мне не пригодится. Просто возникла задача, которую надо решить. Примеров в интернете много, а толковых нет.
Знание языка необходимо, хотя бы на базовом уровне, иначе ничего хорошего не выйдет. Даже если получится "методом тыка" заставить работать код "из интернета", остается вопрос безопасности - через плохо написанный скрипт ваш сайт могут взломать и начать делать что-то нехорошее.
 

Navruz80

New member
Здравствуйте.
У меня сайт на конструкторе reg.ru там можно только html code поставить. Поставил коды плеера и название треков из вкладки Integration, обе работают. Но код Album cover не показывает картинку. Что можно делать в такой ситуации? Помогите советами.
Спасибо.
 
 

djsoft

Administrator
Команда форума
Думаю, вам стоит с этим вопросом обратиться к вашему хостеру. Также проверьте, работает ли виджет если тестировать его из панели управления в RadioBOSS Cloud.
 

Radioboz

Member
На редких радиостанциях я видел вместо названия песни - бегущая строка с новостями или погодой. Как самому добавить подобную инфу?

И еще. В скрытой папке user/AppData/Roaming/djsoft.net/RadioBOSS_4240059799 множество (сотни) текстовых файлов типа bugreport_20180821-160627.txt Я так понимаю, это файлы отчета. Если они не нужны, я могу отключить их накопление в этой папке или без них Босс не будет работать?
 

djsoft

Administrator
Команда форума
Эти файлы не нужны для работы и их можно удалить. Отключить их создание нельзя, но они у вас создаются из-за пиратской версии у которой масса проблем :)
 
Верх