Вывод названия трека на сайт

Статус
Закрыто для дальнейших ответов.

djsoft

Administrator
Команда форума
Доступен новый скрипт: https://www.radioboss.ru/smf_ru/index.php/topic,4254.0.html



Инструкция: как вывести название трека, который играет в RadioBOSS на сайт.

1) На сайте создается скрипт, который будет принимать название от RadioBOSS. Пусть этот скрипт называется httpreq.php
Пример подобного скрипта:
Код:
<?php
	//get artist/title info
	$artist = $_GET['artist'];
	$title = $_GET['title'];
	
	//create a temp file to store values for AJAX script
	$r = fopen("temp_title.txt", "w");
	fwrite($r, $artist." - ".$title);
	fclose($r);
?>
Этот скрипт принимает название трека от RadioBOSS и создает в той же папке файл temp_title.txt, в котором сохраняет принятую информацию. Этот файл будет позже использован для вывода названия на страницу.
* если файл не создается, то нужно его создать через FTP клиент и дать права 777.
** это только пример, для рабочего варианта крайне желательно обезопасить скрипт, например, так: http://www.radioboss.ru/smf_ru/index.php/topic,995.msg6150.html#msg6150

2) В RadioBOSS в окне Настройки, раздел Отчеты, нужно включить опцию "Использовать HTTP запрос".
В поле нужно ввести адрес скрипта и необходимые параметры. Для примера:
http://localhost/httpreq.php?artist=%artist&title=%title
Здесь передаются параметры %artist и %title - исполнитель и название.
Возможные параметры:
%artist - исполнитель
%title - название
%album - альбом
%duration - длительность
%genre - жанр

3) Пример страницы сайта, на которую будет выводиться название:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
	<b>Здесь отображается название играющего трека:</b>
	<div id="track_name"></div>
	
	<!-- begin update track title code -->
	<script type="text/javascript">
		function UpdateTitle()
		{ 
			var xmlhttp;
			//get "track name" block
			if (window.XMLHttpRequest)
			{// code for IE7+, Firefox, Chrome, Opera, Safari
			  xmlhttp = new XMLHttpRequest();
			}
			else
			{// code for IE6, IE5
			  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			xmlhttp.onreadystatechange = function()
			{
				if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
				{
					var s = xmlhttp.responseText;
					document.getElementById('track_name').innerHTML = s;
				}
			}
			//use random number in request to prevent caching
			var rand_no = Math.random();
			rand_no = rand_no * 100;
			//read the "temp_title.txt" file
			xmlhttp.open("POST", "/temp_title.txt?"+rand_no, true);
			xmlhttp.send();		
		}	
		//
		setInterval("UpdateTitle()", 1000);
		UpdateTitle();
	</script>
	<!-- end update track title code -->
	
</body>
</html>
Алгоритм работы прост: название выводится в блок <div id="track_name"></div>, обновление происходит по таймеру (в примере - каждую 1 секунду = 1000мс) - вызывается функция UpdateTitle(). Эта функция читает содержимое файла temp_title.txt и отображает его на сайте. Название трека будет меняться автоматически, обновление страницы не требуется.

Скрипты находятся в аттаче к этому посту.
 

Вложения

  • track_title.zip
    1,2 КБ · Просмотры: 959
Код:
<?php
if (isset($_GET)) {
	$file = "temp_title.txt";//file to store the track names
	$numtrack = 10;//maximum number of tracks
	$fopen = file($file);
	if (count($fopen) > $numtrack) {
		array_unshift($fopen, stripslashes($_GET['artist'])." - ".stripslashes($_GET['title'])."\n");
		array_pop($fopen);
		$f=fopen($file, "w");
		for($i=0;$i<count($fopen);$i++) {
			fwrite($f,$fopen[$i]);
		}
		fclose($f);
	}
	else {
		array_unshift($fopen, stripslashes($_GET['artist'])." - ".stripslashes($_GET['title'])."\n");
		$f=fopen($file, "w");
		for($i=0;$i<count($fopen);$i++) {
			fwrite($f,$fopen[$i]);
		}
		fclose($f);
	}
}
?>
 
cHameleon сказал(а):
еще можно сделать лимит на кол-во треков в "temp_title.txt" :)
В моем примере только 1 трек - содержимое файла каждый раз перезаписывается... Ну это чтобы показать самую основу, как это вообще делается.
Спасибо за расширение функционала! )
 
Прочитал эту новость и вновь расстроился. Дело в том, что уже почти неделю мучаюсь с тем, чтобы каким-то образом научиться тонкостям flah/php/html индустрии, но успехов на этом фронте практически не наблюдается. Сначала думал, что реально с помощью uppod плеера реализовать возможность вывода трека, который сейчас в эфире, о увы перепробовав 50 или 30 вариантов по выводу скриптов всеразличных махинаций так и застопорился на тупиковом деле. В отчаянии стал бороздить гугла и вот наткнулся на эту тему. А тема действительно хороша, но опять на меня нахныла волна отчаяния: всё дело в том, что сайт создан на субдомене weebly, возможно вам известен такой и он редактируется в php, но выводит всё в html. А для того, чтобы загрузить какой-либо скрипт, или ява скрипт код плеера например идёт драгэнддроп код html, в который вставляется код. Но недавно решил воспользоваться хостингом php, на котором пытаю себя в этой области: всё вроде сделал по инструкции вашей, однако текущий трек почему-то не сохраняется в файле соответствущем. Возможно я неправильно установил скрипт, а также не прописал его для вывода на главную страницу...А к тому же, теперь ещё и трудности с тем, каким образом возможно реализовать всё это на субдомене weebly.com: будет ли это какой-то скрипт-код, или код, который сможет хватать написанный вами скрипт с моего хостинга php.
Если кто в этом может мне помочь, будьте так добры не дайте зачахнуть окончательно доброму радио, ему осталось жить совсем чуток...+) Может быть одним ява-скриптом или html-кодом можно организовать то, что вы написали?
Спасибо человеческое за всё, если что!

На всякий случай адрес домена http://weebly.com, где можно вставлять html-код, а также есть к каждой странице в настройках header и footer коды, может быть они помогут реализовать это?
 
Бесплатные хостинги могут создавать массу проблем, т.к. код перед тем, как попасть на сайт, в большинстве случаев подвергается модификации.

В первом сообщении темы очень подробно расписано, что нужно сделать для вывода названия трека на сайт. Требования к хостингу: только наличие PHP. JavaScript выполняется на стороне клиента и от хостинга не зависит. В примере использован AJAX - чтобы название трека менялось без полной перезагрузки страницы.
Я бы рекомендовал разобраться с тенологиями PHP, Javascript, AJAX - для поверхностного понимания этого достаточно 1 вечера. И этих знаний точно хватит для установки скрипта :)
 
Спасибо за разъяснения! Дело в том, что бесплатный хостинг от weebly он не совсем бесплатный и при оплате проаккаунта появляются масса преимуществ по сравнению с обычным пользователем. Однако суть такова, что везде где мне приходилось иметь дело со всеразличными скриптами, php-кодами и так далее я натыкался на объяснение того, что это должно устанавливаться в корень сайта (например), либо через ftp заливать нужно, но однако ни ftp, ни корень сайта у этого домена не преполагается, зато есть встроенный html-код, который можно в любом месте вставить вместе с каким-либо скриптом. Но ведь, я так понимаю этого будет недостаточно, если я например тот код скрипта, который Вы расположили размещу в этот блок html, ведь он должен каким-то образом создавать в той же директории и текстовый файл с именем исполнителя. Вот тут ступор возникает. Подумаю конечно, каким образом можно привязать один хостинг к примеру с другим с помощью того же скрипта. Может кто подскажет: мне нужно перенаправить файлы с одного хостинга (который на php, с возможностью вставки в корень скрипта) на другой (weebly), который уже через html-код сможет принять нужную информацию и отобразить её на главной страничке. Я понимаю, задачка не из легких, но однако смышленые люди, которые уже с этим имели дело наверняка знают её решение...А реально это реализовать как swf object? Чтобы скриптом вставить прямо на сайт готовый код?
Спасибо за разъяснения, приятно получать квалифицированные ответы;)
 
Прямой доступ к сайту все равно нужен будет, скорее всего. Я бы рекомендовал попробовать, а там уже видно будет.
Лучше, конечно, использовать нормальный хостинг без всяких разных ограничений и непонятных преобразований.
 
Сейчас пытаюсь проделать типовую махинацию с трюком по автоматическому созданию текстового файла благодаря скрипту №1 в начале топика. "
Этот скрипт принимает название трека от RadioBOSS и создает в той же папке файл temp_title.txt, в котором сохраняет принятую информацию. Этот файл будет позже использован для вывода названия на страницу.
* если файл не создается, то нужно его создать через FTP клиент и дать права 777."

Все операции произвожу на другом хостинге (на php), выкладываю в корень скрипт httpreq.php, затем в настройках Radio Boss прописываю путь запроса get:http://zombiyes.wallst.ru/httpreq.php. В результате никаких новых файлов не появляется в корне, действую согласно инструкции указывая настройки ftp своего хостинга в Radio Boss. Единственное не понял, что значит дать права 777? Это порт, либо это пассивный реж (путь)? Помогите будьте добры?
 
djsoft сказал(а):
Прямой доступ к сайту все равно нужен будет
скорее всего.

Прямой доступ есть к управлению сайтом (имею ввиду weebly), объясню как он выглядит: к примеру есть настройки целиком всего сайта, возможность в голове или ногах (header, footer) прописать какой-либо код, а также постранично в каждой есть такая возможность, однако это ли нужно сейчас?
 
zombiyes сказал(а):
Сейчас пытаюсь проделать типовую махинацию с трюком по автоматическому созданию текстового файла благодаря скрипту №1 в начале топика. "
Этот скрипт принимает название трека от RadioBOSS и создает в той же папке файл temp_title.txt, в котором сохраняет принятую информацию. Этот файл будет позже использован для вывода названия на страницу.
* если файл не создается, то нужно его создать через FTP клиент и дать права 777."

Все операции произвожу на другом хостинге (на php), выкладываю в корень скрипт httpreq.php, затем в настройках Radio Boss прописываю путь запроса get:http://zombiyes.wallst.ru/httpreq.php. В результате никаких новых файлов не появляется в корне, действую согласно инструкции указывая настройки ftp своего хостинга в Radio Boss. Единственное не понял, что значит дать права 777? Это порт, либо это пассивный реж (путь)? Помогите будьте добры?
Здесь сам вроде разобрался, сейчас попробую реализовать о результатах проделанного скорее всего сообщу+)
 
Общем результаты для такого как я выглядят следующим образом: файл он создаёт, но почему-то не в той же директории, где лежит скрипт (не в public_html), а каким-то образом сохраняет его в самый корень хостинга моей страницы. Теперь, чтобы привязать эти данные из файла к странице для отображения данных не доходит до меня, каким образом. Возможно это моя лень разбираться  в тонкостях программирования, не отрицаю. Однако, понимаю что есть люди, которые эту работу знают на зубок и всего лишь нужно направить меня, подсказать, наставить чтоли+) Ладно, буду надеяться на лучшее, главное что уже что-то стало получаться.Это уже успех!
Может быть что-то в коде страницы index.html нужно что-то другое прописать?(тот пример, что был выложен вставил простым копированием редактирование index.html, но результат только такой:http://zombiyes.wallst.ru/
 
cHameleon сказал(а):
еще можно сделать лимит на кол-во треков в "temp_title.txt" :)
А каким образом есть возможность реализовать историю прозвучавших песен таким же образом, чтобы информация на сайте обновлялась? Кто-нибудь наверняка уже такое реализовал у себя?)
 
Ребята и девчата! Держитесь сейчас крепче крепкого, я постараюсь вас удивить тем, что совсем недавно увидел: а речь идёт о полнофункциональных инструментах для настоящего уважающего себя диджея, человека, которому небезразличны его слушатели. Общем долго мутить не собираюсь, а лишь сообщу о том, что ресурс http://www.musicgoal.com/tools/ заслуживает самой высокой похвалы за то, что там имеется в наличие. Арсенал от выкладывания кода, который отображает онлайн (оффлайн) статус радио, количество слушателей, качество вещания, трек, который звучит в эфире, возможность автоматической генерации плейлиста по ссылке на поток (шоуткаст или айскаст). Общем, я в шоке, не знаю как эта новость отразится на остальных, которые так долго бороздят просторы интернета в поисках этих замечательных вещей. И не нужно быть программистом, чтобы всё это выложить в удобном виде на свой сайт!
Yes и Ура!!!+)

Маленькое замечание6 обновление информации о слушателях, статусе, играющем треке происходит не динамически, а при обновлении страницы или заходе на сайт (вот единственный один недочётик, но я его вообще не беру в счёты).
 
zombiyes сказал(а):
Ребята и девчата! Держитесь сейчас крепче крепкого, я постараюсь вас удивить тем, что совсем недавно увидел: а речь идёт о полнофункциональных инструментах для настоящего уважающего себя диджея, человека, которому небезразличны его слушатели. Общем долго мутить не собираюсь, а лишь сообщу о том, что ресурс http://www.musicgoal.com/tools/ заслуживает самой высокой похвалы за то, что там имеется в наличие. Арсенал от выкладывания кода, который отображает онлайн (оффлайн) статус радио, количество слушателей, качество вещания, трек, который звучит в эфире, возможность автоматической генерации плейлиста по ссылке на поток (шоуткаст или айскаст). Общем, я в шоке, не знаю как эта новость отразится на остальных, которые так долго бороздят просторы интернета в поисках этих замечательных вещей. И не нужно быть программистом, чтобы всё это выложить в удобном виде на свой сайт!
Yes и Ура!!!+)

Маленькое замечание6 обновление информации о слушателях, статусе, играющем треке происходит не динамически, а при обновлении страницы или заходе на сайт (вот единственный один недочётик, но я его вообще не беру в счёты).
То, что обновление названия делается только с перезагрузкой страницы очень большой недостаток - так делали сайты в 90-х, сейчас уже другое время...

А для того, чтобы вставить код из первого поста темы, тоже не нужно быть программистом :) Нужно только 1) следовать инструкциям и 2) иметь нормальный хостинг, никаких бесплатных или с закачкой через непонятные скрипты.
 
Несмотря на то, что это существенный недостаток возможно для многих продвинутых юзеров, а вот начинающим пользователям, багаж денег у которых совсем не рсаполагает к тому, чтобы иметь больше- само то. К тому же, бесплатные- это всё условно опять же- всем нужны деньги, а за полнофункционал приходится доплачивать. К тому же хочется отметить то, что многие вещи, которые реализованы на этом ресурсе поспособствуют привлечению внимания своих слушателей- к примеру взять плейлист, который показывает 10 последних прозвучавших песен в эфире! Поверьте, облазив полземного шара Интернет вещания, особенно это касается ресурсов так или иначе связанных с вещанием радио я натыкался только на одни и те же запросы людей- это реализация всех полезных штук по вещанию потока в сети: начиная от статуса, заканчивая реализацией флэш-плеера под радиовещание.
И не спорю, что Ваш вариант не менее важный для радиовещания, но лично для меня это уже будет роскошью (хоть я и понимаю, что задача вообще одна из самых простых);)
 
zombiyes сказал(а):
Несмотря на то, что это существенный недостаток возможно для многих продвинутых юзеров, а вот начинающим пользователям, багаж денег у которых совсем не рсаполагает к тому, чтобы иметь больше- само то.
Здесь очень важный момент. Для кого вы делаете сайт? Для себя, или для пользователя? Поймите - пользователям все равно ваши проблемы с хостингами, знанием PHP и всем остальным... Они видят результат. Если сляпано "по быстрому на коленке" результат будет понятно какой и люди будут избегать вашего сайта и радио. Это мое мнение.
 
Здесь очень важный момент. Для кого вы делаете сайт? Для себя, или для пользователя? Поймите - пользователям все равно ваши проблемы с хостингами, знанием PHP и всем остальным... Они видят результат. Если сляпано "по быстрому на коленке" результат будет понятно какой и люди будут избегать вашего сайта и радио. Это мое мнение.
А Вы зайдите на мой сайт и самостоятельно дайте оценку, для кого он сделан и на кого рассчитан? Сможете?(это будет Ваш субъективный взгляд на вещи). Смотря что Вы подразумеваете под словом пользователи:если это кусок мяса, которому просто хочется красоты вокруг, чтобы все блестело, сияло и пахло всеми цветами разнотравья-это один уровень пользователя, а другой уровень (тот на который рассчитан мой сайт)- люди, которым не нужно всех этих преблуд и высоких чинов, рейтингов и завышенной самооценки, гордыни через край. А если им это не нужно, важны другие моменты, по которым пользователь (высокоинтеллектуальный в моём случае) сам оценит результат по достоинству! И повторюсь всё остальное не имеет никакого значения- важен сам подход к делу и отношение к своим слушателям(не реклама, оффтоп пошёл).
 
Ну... Если человеку нравятся красивые вещи, он не становится автоматически "безмозглым куском мяса".
По сайту, какой-то там странный язык. Наверное, лучше будет еще добавить переключение на русский :)
Я бы мог написать развернутую рецензию, но сейчас нет на это времени. Вкратце - много лишних элементов. Часы, к примеру - зачем они?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх