{ Скрипт вывода диджея в эфир } { Автор: Дмитрий Чижевский (chedim@open-radio.ru) } var cSong : TSongInfo; var resp : String; var djsrv : String; var djch : String; { адрес сервера, на который выходят диджеи } djsrv := 'http://localhost:8000/'; { адрес служебного потока, на который выходят диджеи: } djch := 'dj-air'; PAL.Loop := true; { На всякий случай - восстанавливаем проигрывание } if ((DeckA.Status > 0) and (DeckB.Status > 0)) then begin DeckA.Eject; DeckB.Eject; DeckA.Next; DeckA.Play; end; cSong := ActivePlayer.GetSongInfo(); { проверяем, есть ли сигнал на служебном потоке и если он ещё не выведен в эфир - выводим } resp := WebToStr('http://localhost/checkair.php'); if((CompareText(resp, 'true') = 0) and (Pos(djch, cSong['filename']) = 0)) then begin { Выводим только если проигрываемый файл находится в папке с музыкой - чтобы не прерывать джинглы и отбивки } if (Pos('music', ActivePlayer.GetSongInfo['filename']) > 0) then begin Queue.AddFile(djsrv+djch, 0); ActivePlayer.FadeToNext(); end; end; PAL.WaitForTime(T['+00:00:10']);
<? // Название служебного потока, на который выходят диджеи $channel = 'dj-air'; // адрес сервера со служебным потоком $server = 'http://localhost:8000/'; // это вам не нужно, но если хотите контролировать сторонней программой, что сэм не завис, раскомментируйте: // touch('touch'); $fc = file_get_contents($server); // Если if(strstr($fc,$channel)) { echo 'true'; } else { echo 'false'; } ?>