var Song : TSongInfo; const Filesongtitle = 'C:\www\htdocs\recordsms\text.txt'; // ваш путь на диске к текстовому файлу var UpdSong : TSongInfo; var Banners : TStringList; var LinePos : Integer; PAL.Loop := True; // цикл работы скрипта (постоянно) PAL.WaitForPlayCount(1); // ожидание, запуск скрипта после завершения текущего трека PAL.WaitForTime(T['+00:00:09']); // задержка, для точного вывода текста через енкодер настройка 6-12 сек. if ActivePlayer <> nil then begin Song := ActivePlayer.GetSongInfo(); if Song['songtype'] = 'S' then // функция работы по типу 'S', значит тип 'J', 'X' и другое... скрипт будет в ожидании begin // здесь будет путь к PHP файлу (Пока эту строчку пропускаем) UpdSong := TSongInfo.Create; Banners := TStringList.Create; if FileExists(Filesongtitle) then Banners.LoadFromFile(Filesongtitle); UpdSong['title'] := Banners[LinePos]; Encoders.SongChange(UpdSong); // вывод текста через енкодер Banners.Free; // Очистка енкодера от полученной информации UpdSong.Free; // Очистка енкодера от полученной информации end; end;
var P : TPlayer; var OldTime : DateTime; OldTime := Now; PAL.Loop:= True; // Скрипт будет выполнятся постоянно // ------------- насторить секунды для точного запуска (интервал не более 30 сек.) if (now >= T['19:59:16']) and (now <= T['19:59:46']) and // запуск в 20:00 вечера ((DayOfWeek(Now) = Sunday)) then // запускается только в воскресенье begin // ----------------------------------------------------------------------------- Queue.AddFile('C:\hiparad\end-voice.mp3',ipTop); // голос ведущего о завершении Хит-парада // ----------------------------------------------------------------------------- var D : TDataSet; var C : Integer; D := Query('SELECT songlist.*, count(*) as cnt '+ 'FROM songlist,requestlist '+ 'WHERE songlist.ID = requestlist.songID '+ ' AND requestlist.code < 700 '+ 'GROUP BY songlist.ID '+ 'ORDER BY cnt DESC LIMIT 10',[],True); // лимит 10 треков // ставим в очередь на воспроизведение с 10 трека по 1 C := 0; D.First; while not D.EOF do begin C := C + 1; WriteLn('#'+IntToStr(C)+'. '+D['artist']+' - '+D['title']); Queue.AddFile(D['filename'],ipTop); D.Next; // ----------------------------------------------------------------- (7-8 сек. фоновый джингл - Желательно из ударных инструментов) Queue.AddFile('C:\hiparad\silent-jingl.mp3',ipTop); // джингл - для красивого эффекта перехода от трека к треку end; Queue.AddFile('C:\hiparad\start-voice.mp3',ipTop); // голос ведущего о начале Хит-парада // ----------------------------------------------------------------------------- PAL.WaitForTime(T['+00:01:00']); // задержка 1 мин. от повторного запуска end;
var P : TPlayer; var Song : TSongInfo; var strFile, strPath, strJingle : String; strPath := 'd:\Music MP3\iradio\Zastavki\'; // Путь к папке, где лежат отбивки часов strJingle := 'd:\Music MP3\iradio\Zastavki\tchas_otbivka.mp3'; //Путь и название джингла после отбивки часов PAL.Loop := True; P := SoundFX; // Проигрывание файлов **-00.mp3 через SoundFX, а не через деки. PAL.WaitForTime('XX:59:15'); //запускаемся в конце каждого часа. 45 сек - время буферезации, подбираем по свом параметрам, вкусам //strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.mp3'; //определяем название файла с нужными часиками. Формат имени файла XX-XX.mp3 P := Aux1; if P <> nil then begin Queue.AddFile(strJingle, ipTop); // Queue.AddFile(strFile, ipTop); P := ActivePlayer; if P <> nil then P.FadeToNext; end;