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

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

 

410
Евгений @Drakkar
Уважаемые форумчане, у меня есть ежечасовые отбивки и джингл, играющий сразу после них. Вот скрипт:
  1. var P : TPlayer;
  2. var Song : TSongInfo;
  3. var strFile, strPath, strJingle : String;
  4. strPath := 'E:\CLOCK\'; //папка с отбивкой
  5. strJingle := 'C:\CLOCK\start_hour.mp3'; //Путь и название джингла после отбивки часов
  6. PAL.Loop := True;
  7. PAL.WaitForTime('XX:59:45'); //запускаемся в конце каждого часа
  8. P := SoundFX;
  9. strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.mp3';
  10. Queue.AddFile(strFile, ipTop);
  11. Song := Queue.NextInQueue;
  12. P.QueueSong(Song);
  13. P.Play;

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


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

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

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

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

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

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

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

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

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

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

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

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

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

0
410
Евгений @Drakkar
  1. <?php
  2. function antara($string, $start, $end){
  3. $string = " ".$string;
  4. $ini = strpos($string,$start);
  5. if ($ini == 0) return "";
  6. $ini += strlen($start);
  7. $len = strpos($string,$end,$ini) - $ini;
  8. return substr($string,$ini,$len);
  9. }
  10. $live = file_get_contents("http://85.28.203.242:8000/status.xsl?mount=/kamchatka_live");
  11. $nonstop = file_get_contents("http://91.195.211.165:8000/status.xsl?mount=/nonstop");
  12. $lives = antara($live, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>")+ antara($nonstop, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>");
  13. ?>
  14. <?php
  15. echo "Сейчас слушают : ".$lives."<br>";
  16. ?>

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

0
888
Falcon @Falcon
Drakkar пишет:

  1. <?php
  2. function antara($string, $start, $end){
  3. $string = " ".$string;
  4. $ini = strpos($string,$start);
  5. if ($ini == 0) return "";
  6. $ini += strlen($start);
  7. $len = strpos($string,$end,$ini) - $ini;
  8. return substr($string,$ini,$len);
  9. }
  10. $live = file_get_contents("http://85.28.203.242:8000/status.xsl?mount=/kamchatka_live");
  11. $nonstop = file_get_contents("http://91.195.211.165:8000/status.xsl?mount=/nonstop");
  12. $lives = antara($live, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>")+ antara($nonstop, "<td>Current Listeners:</td><td class=\"streamdata\">","</td></tr>");
  13. ?>
  14. <?php
  15. echo "Сейчас слушают : ".$lives."<br>";
  16. ?>

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

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

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

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

0
888
Falcon @Falcon
Drakkar пишет:

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

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

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

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

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

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

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

0
1572
KyPIIaToB @KyPIIaToB
Drakkar пишет:

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

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

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

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

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

0
410
Евгений @Drakkar
Кстати твой скрипт
  1. var P : TPlayer;
  2. var Song : TSongInfo;
  3. var strFile, strPath, strJingle : String;
  4. var i : integer;
  5. PAL.Loop := True;
  6. i := ActivePlayer.GetVolume;
  7. P := SoundFX;
  8. strPath := 'E:\CLOCK\'; //путь к папке с отбивкой
  9. PAL.WaitForTime('XX:59:15'); //запускаемся в конце каждого часа
  10. strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.mp3';
  11. Queue.AddFile(strFile, ipTop);
  12. Song := Queue.NextInQueue;
  13. P.QueueSong(Song);
  14. ActivePlayer.Volume := i - 40;
  15. ActivePlayer.Volume := i - 80;
  16. ActivePlayer.Volume := i - 120;
  17. ActivePlayer.Volume := i - 160;
  18. P.Play;
  19. PAL.WaitForTime('+00:00:03');
  20. ActivePlayer.Volume := i - 160;
  21. ActivePlayer.Volume := i - 120;
  22. ActivePlayer.Volume := i - 80;
  23. ActivePlayer.Volume := i - 40;
  24. ActivePlayer.Volume := i;

Почемуто обратно ползунок громкости в деке обратно не возвращает, если к примеру добавить - 200. Например
  1. ActivePlayer.Volume := i - 40;
  2. ActivePlayer.Volume := i - 80;
  3. ActivePlayer.Volume := i - 120;
  4. ActivePlayer.Volume := i - 160;
  5. ActivePlayer.Volume := i - 200;
  6. P.Play;
  7. PAL.WaitForTime('+00:00:03');
  8. ActivePlayer.Volume := i - 200;
  9. ActivePlayer.Volume := i - 160;
  10. ActivePlayer.Volume := i - 120;
  11. ActivePlayer.Volume := i - 80;
  12. ActivePlayer.Volume := i - 40;
  13. ActivePlayer.Volume := i;

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

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.