ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Помогите с написанием одного скрипта

 

410
Евгений @Drakkar
Уважаемые форумчане, у меня есть ежечасовые отбивки и джингл, играющий сразу после них. Вот скрипт:
var P : TPlayer;
var Song : TSongInfo;
var strFile, strPath, strJingle : String;

strPath := 'E:\CLOCK\'; //папка с отбивкой
strJingle := 'C:\CLOCK\start_hour.mp3'; //Путь и название джингла после отбивки часов
PAL.Loop := True;
PAL.WaitForTime('XX:59:45'); //запускаемся в конце каждого часа
P := SoundFX;
strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.mp3';
Queue.AddFile(strFile, ipTop);
Song := Queue.NextInQueue;
P.QueueSong(Song);
P.Play;

Но так же у меня есть ночной джингл no_slip.mp3, который надо сделать, чтобы запускался только ночю, к примеру с 00-00 до 07-00 сразу после отбивки часов. Как сиё реализовать?


И вопрос №2.
Есть три разных джингла по 7 секунд каждый: 1.p3, 2.mp3 и 3.mp3. Какой скрипт будет их в течении суток раз 20 к примеру в рандомном порядке, приглушая основной эфир, поверх песен пускать? Желательно, конечно, чтоб в самых тихих местах песен, где уровень ДБ ниже -10, но врятли это осуществимо :)... хотябы просто приглушая эфир.
Спасибо.

Отредактировано Drakkar - 06.11.2011
1572
KyPIIaToB @KyPIIaToB
Нужно добавлять правило по типу
if ((now >= T['0:00:00']) and (now <= T['06:00:00']) then
begin
играть джингл
end;

В теории как то так)

410
Евгений @Drakkar
KyPIIaToB пишет:

Нужно добавлять правило по типу
if ((now >= T['0:00:00']) and (now <= T['06:00:00']) then
begin
играть джингл
end;

В теории как то так)

Скажи пожалуйста, а куда этот код надо вставлять? Не могу понять

1572
KyPIIaToB @KyPIIaToB
Это я пример привел, допишешь сам.

410
Евгений @Drakkar
Знал бы я, как этот код писать - не стал бы тут спрашивать. Я полный ноль в этом. Хотелось бы тут увидеть готовый код для ночного джингла.

888
Falcon @Falcon
Напишу тебе такой скрипт за пару $ ))

410
Евгений @Drakkar
Falcon пишет:

Напишу тебе такой скрипт за пару $ ))

Вот это другой разговор :)

410
Евгений @Drakkar
<?php
function antara($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$live = file_get_contents("http://85.28.203.242:8000/status.xsl?mount=/kamchatka_live");
$nonstop = file_get_contents("http://91.195.211.165:8000/status.xsl?mount=/nonstop");

$lives = antara($live, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>")+ antara($nonstop, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>");
?>
<?php


echo "Сейчас слушают : ".$lives."<br>";


?>

У меня этот скрипт почемуто не обновляется. т.е. кол-во слушателей показывает актуальное на момент загрузки страницы. Чтоб узнать, сколько слушателей слушает через минут 10 к примеру , надо перезагружать страницу.

888
Falcon @Falcon
Drakkar пишет:

<?php
function antara($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$live = file_get_contents("http://85.28.203.242:8000/status.xsl?mount=/kamchatka_live");
$nonstop = file_get_contents("http://91.195.211.165:8000/status.xsl?mount=/nonstop");

$lives = antara($live, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>")+ antara($nonstop, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>");
?>
<?php


echo "Сейчас слушают : ".$lives."<br>";


?>

У меня этот скрипт почемуто не обновляется. т.е. кол-во слушателей показывает актуальное на момент загрузки страницы. Чтоб узнать, сколько слушателей слушает через минут 10 к примеру , надо перезагружать страницу.

Этот скрипт так и должен работать. Чтобы заставить его обновляться надо использоваться ajax/jquery.
Так же могу сделать на пару $ ))

410
Евгений @Drakkar
Ну а что тебя в аське не видно? тут не удобно общаться

245
roker @roker
пиши ему в вконтакт..

888
Falcon @Falcon
Drakkar пишет:

Ну а что тебя в аське не видно? тут не удобно общаться

у меня аська - germes.07@bk.ru . В качестве логина е-маил, пиши туда, даже если оффлайн, бывает в инвизе сижу.

410
Евгений @Drakkar
Кстати мне KyPIIaToB дал новый скрипт отбивки часов. Там, где просто новый час произносится поверх играющей песни. В одном случае без приглушения эфира, во втором случае с затуханием до - 160.
Но мне нужен скрипт, который во время Ч сводит текущую песню, проигрывает отбивку часовую, потом start_hour (джингл) и затем запускает новый трек.

Отредактировано Drakkar - 08.11.2011
1572
KyPIIaToB @KyPIIaToB
За $ тебе falcon вон сделает) обращайся к нему )

410
Евгений @Drakkar
KyPIIaToB Ты сам как то в одном из своих постов тут обмолвился, что этот форум для взаимной помощи друг другу. И совсем не обязательно, что за деньги )) Я устал уже $ сорить. Я их не печатаю :)
Где старое доброе НЕ меркантильное общество?

105
Faet0n @Faet0n
Предложите вы, предложат вам.
В наше время просто так выполнять за кого-то какую-либо работу мало кто станет. Как ни крути,на это затрачивается всё таки личное время.

410
Евгений @Drakkar
Да я с радостью могу предложить всё, что знаю. Всё о работе Сэма, русификацию стандартного стола заказов Сэма php ... Вобщем всё о семе... вы только спрашивайте ) А вот всё, что связанно с сайтом - увольте :)

1572
KyPIIaToB @KyPIIaToB
Drakkar пишет:

KyPIIaToB Ты сам как то в одном из своих постов тут обмолвился, что этот форум для взаимной помощи друг другу. И совсем не обязательно, что за деньги )) Я устал уже $ сорить. Я их не печатаю smile
Где старое доброе НЕ меркантильное общество?

Мы как бы и помогаем, или в твоем понятии "помогать", значит делать исключительно все? Лично я не видел что бы ты чем либо тут помог. Так что теперь задумайся об фразе "взаимной помощи друг другу".

Добавлено спустя 2 минуты 14 секунд:
Drakkar пишет:

Да я с радостью могу предложить всё, что знаю. Всё о работе Сэма, русификацию стандартного стола заказов Сэма php ... Вобщем всё о семе... вы только спрашивайте ) А вот всё, что связанно с сайтом - увольте smile

Все нужное для SAM есть в соответствующей теме.
Русская версия SAM php так же валяется в рунете открыто уже очень и очень давно, ты новенькое что нить выкладывай, удиви нас.

410
Евгений @Drakkar
Кстати твой скрипт var P : TPlayer;
var Song : TSongInfo;
var strFile, strPath, strJingle : String;
var i : integer;

PAL.Loop := True;

i := ActivePlayer.GetVolume;

P := SoundFX;

strPath := 'E:\CLOCK\'; //путь к папке с отбивкой

PAL.WaitForTime('XX:59:15'); //запускаемся в конце каждого часа

strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.mp3';
Queue.AddFile(strFile, ipTop);
Song := Queue.NextInQueue;
P.QueueSong(Song);

ActivePlayer.Volume := i - 40;
ActivePlayer.Volume := i - 80;
ActivePlayer.Volume := i - 120;
ActivePlayer.Volume := i - 160;

P.Play;
PAL.WaitForTime('+00:00:03');

ActivePlayer.Volume := i - 160;
ActivePlayer.Volume := i - 120;
ActivePlayer.Volume := i - 80;
ActivePlayer.Volume := i - 40;
ActivePlayer.Volume := i;

Почемуто обратно ползунок громкости в деке обратно не возвращает, если к примеру добавить - 200. Например
ActivePlayer.Volume := i - 40;
ActivePlayer.Volume := i - 80;
ActivePlayer.Volume := i - 120;
ActivePlayer.Volume := i - 160;
ActivePlayer.Volume := i - 200;

P.Play;
PAL.WaitForTime('+00:00:03');

ActivePlayer.Volume := i - 200;
ActivePlayer.Volume := i - 160;
ActivePlayer.Volume := i - 120;
ActivePlayer.Volume := i - 80;
ActivePlayer.Volume := i - 40;
ActivePlayer.Volume := i;

1572
KyPIIaToB @KyPIIaToB
Я вообще не тестировал этот скрипт, просто накидал по быстрому, вроде как я это написал. Я привел пример как можно сделать.