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

Sam Broadcaster - експорт title в текстовый файл

 

398
ubuntu-studio @ubuntu-studio
Здравствуйте, господа.
Вот, и настало время попросить знатоков о помощи.

Опишу ситуацию.
Если Sam 4.3.6 компьютер стоит за шлюзом и фаерволом, открывать его в мир никто не будет. Такова политика. Вещает в IP-AXIA (передача звука по tcp/ip), таким образом звук передается на второй компьютер, который производит обработку сигнала и по тому же IP-AXIA передает на третий компьютер, который забирает сигнал с карты и по средством Edcast выталкивает в интернет на icecast.

Встал вопрос, можно ли средствами Sam-a (а именно PAL скриптами) забирать титровку (Artist - Title) с плеера (И при старте нового трека И раз в 30 секунд) и сохранять его в текстовый файл и так по циклу бесконечно. Тут бы его уже забрали Edcast-om и было бы счастье.

Подскажите скрипт,други.

Отредактировано ubuntu-studio - 14.01.2013
6245
Тарас @tarasian666

PAL.WaitForPlayCount(1);

ждет до смены трека

PAL.WaitForTime('+00:00:30');

ждет 30сек с момента вызова этой функции


Song['artist']


Song['title']

и так ясно

но как писать в файл не нашел, попалась только функция webToFile, НО есть же база это 1 и есть html output это 2

Отредактировано tarasian666 - 14.01.2013
398
ubuntu-studio @ubuntu-studio
tarasian666 пишет:



но как писать в файл не нашел, попалась только функция webToFile, НО есть же база это 1 и есть html output это 2


В базу соваться не хочется, а вот html output попробую.

Благодарю за совет.
О положительных результатах отпишусь, может кому тоже пригодится

398
ubuntu-studio @ubuntu-studio
tarasian666 пишет:

но как писать в файл не нашел


Я нашел как писать в файл, но не получается ничего.

var FileSave : String;
FileSave := 'C:\Directory\test.txt';
SavestringTofile(FileSave, 'some text');


Как это в кучу собрать ума не приложу. :(

6245
Тарас @tarasian666
думаю надо 2 скрипта, 1й по обновлению трека, 2й каждые 30 сек
подобного вида


PAL.Loop := True;
PAL.WaitForPlayCount(1);
FileSave := 'C:\Directory\test.txt';
SavestringTofile(FileSave, Song['artist'] + ' - '+ Song['title']);


ну само собой вначале обьявить всякие TSongInfo и тд

398
ubuntu-studio @ubuntu-studio
Не знаю на сколько правильное решение, но оно работает.

Скрипт раз в 30 секунд берет из активной деки "Artist - Title" и записывает его в текстовый файл. (Song.Free;) и (DeleteFile(FileSave);) для перестраховки, на всякий случай

var FileSave : String;
var Song : TSongInfo;
PAL.WaitForTime('+00:00:30');
PAL.Loop := True;
Song.Free;
Song := ActivePlayer.GetSongInfo;
FileSave := 'd:\\TEMP\\NowOnAir.txt';
DeleteFile(FileSave);
SavestringTofile(FileSave, Song['artist'] + ' - '+ Song['title']);
Song.Free;


Второй скрипт делает то же самое, но при каждом старте трека

var FileSave : String;
var Song : TSongInfo;
PAL.WaitForPlayCount(1);
PAL.Loop := True;
Song.Free;
Song := ActivePlayer.GetSongInfo;
FileSave := 'd:\\TEMP\\NowOnAir.txt';
DeleteFile(FileSave);
SavestringTofile(FileSave, Song['artist'] + ' - '+ Song['title']);
Song.Free;


tarasian666, спасибо огромное за помощь !

7094
Dim @Render
Всё это, так же просто выполняет htmloutput.
Создаёшь файл к примеру с именем in.html с содержимым:
$history.artist$ - $history.title$
В настройках HTML Output в General HTML output добавляешь новое, в поле Input file указываешь файл in.html, который создали.
В поле Output file - NowOnAir.txt
Ставишь галочку "Auto-generate on song change...", сохраняешь.
При каждой смене трека в деке, в файл будет записываться имя текущего трека)
Мне кажется это самым простым и удобным вариантом, так как есть возможность отправки на фтп-сервер :)

398
ubuntu-studio @ubuntu-studio
Render пишет:

Всё это, так же просто выполняет htmloutput.
....
Мне кажется это самым простым и удобным вариантом, так как есть возможность отправки на фтп-сервер :)


Как запасной вариант так же подойдет. Спасибо.

Но, первый работает отлично. Полет нормальный.

54
wwc @wwc
Вопрос.

А как бы в самом html файле, на котором установлен код флеш плеера заставить отображаться данные из NowOnAir, так чтоб не нарушать прослушивание потока ? Как пример (хочу добавить отображение текущего исполнителя на информационный лист, где стоит лента плеера) -> **********

Спасибо.

Отредактировано wwc - 22.07.2013