Примочки к RadioBoss

  • Автор темы Автор темы radio-dline
  • Дата начала Дата начала

radio-dline

New member
Внимание!!! Всем сюда!!

Могу скинуть организовать СМС сервисы интегрированные с Радио Боссом,
Такие как какая песня в эфире, голосование(смс "да" или "нет").

Помогу с Бесплатным интернет вещанием, есть свой сервер высокоскоростной.
Сейчас разрабатываем DTFM, но это будет платный плагин(

Если что пишите!
 
Только на СМС Song. честно говоря принцип простой. RadioBoss отправляет через отчёты файл с названием композиции на FTP, скрипт при обращении пишет"Сейчас в эфир радиостанции *** : Название. Спасибо"
 
Вот мысль по разработке плагина чтения DTMF совместно с RADIO Checker Pro

 Работа с программой >

Код:
Внешнее управление программой
 RADIOSOFT 2009  
Программа имеет интерфейс для общения с другими программами с использованием функций Windows API.

Далее приведенный текст адаптирован для использования с языком программирования Delphi, однако может быть легко транслирован для использования в C++ и др..

 

Для работы с RADIO CHECKER PRO нужно запустить его и найти его окно в системе. 

 

Для этого определяем метку окна программы (Window Handle) с помощью функции.

 

function GetCheckerHandle: Integer;

begin

 Result := FindWindow('TRadioChecker', nil);

end;

 

// Запомним Handle

CheckerHandle := GetCheckerHandle;

 

Далее необходимо отправить название класса окна Вашей программы, для того, чтобы Checker имел возможность обратного общения с программой.

 

function SendWindowClassName(ClassName: string): Integer;

var

 Struct: COPYDATASTRUCT;

 pch: array[0..255] of Char;

begin

 Struct.dwData := 1000;

 Struct.lpData := StrPCopy(pch, ClassName);

 Struct.cbData := StrLen(Struct.lpData) + 1;

 SendMessage(CheckerHandle, WM_COPYDATA, 0, LPARAM(@Struct));

end;

 

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

 

SendMessage(CheckerHandle, WM_USER, 100, Handle);

 

Для основного окна программы 

 

Handle :=  Application.MainForm.Handle

 

Для посылки команды для RADIO Checker PRO используется функция 

 

SendMessage(CheckerHandle, WM_USER, Cmd, Param);

 

 

Действие 
 Cmd
 Param
 
Включение образца с постановкой на слежение
 2012
 Номер образца в базе -1
 
Отключение образца с отключением слежения
 2013
 Номер образца в базе -1
 
Постановка на слежение включенных образцов, отключение выключенных
 4000
 0
 
Включение образца БЕЗ постановки на слежение
 4001
 Номер образца в базе -1
 
Отключение образца без отключения слежения
 4002
 Номер образца в базе -1
 
Включение всех образцов с включением слежения
 3000
 0
 
Отключение всех образцов с отключением слежения
 3001
 0
 

 

Для обработки обратных сообщений программы нужно добавить функцию - обработчик сообщений WM_USER. 

При нахождение одного из образцов RADIO Checker Pro сообщит об этом Вашей программе с кодом.

 

wParam = 2000, 

lParam = Номер образца в базе -1

 

 

procedure CheckerMessage (var Msg: TMessage); message WM_USER;

 

...

 

procedure TCheckerHandler.CheckerMessage (var Msg: TMessage);

begin

 case a.wParam of

  2000: SampleIndex := Msg.lParam + 1;

 end;

end;


отредактировал чтобы сообщение не было слишком длинным (djsoft)
 
Можно, конечно, и так, но у нас в планах реализация собственного детектора DTMF -технически это будет проще (и к тому же, нет зависимости от других программ), и для пользователей дешевле - не придется покупать чекер и плагин для работы с чекером.
 
А можно узнать ответы на следующие вопросы:
Это будет плагин или уже встроено?
Когда выйдет версия с этой функцией?

Есть предложение сначала грузится плейлист в список, при обнаружении функция просто переключает на следующий трек. Причём нужно следить за линейным входом(или url) и за собственным эфиром. Но тогда пока в сигнале не обнаружится сигнал выхода с блока, нужно играть добивки. Вот так.
 
1) будет скорее всего в виде отдельного модуля (плагина) - чтобы не нарушать стабильность плеера, DTMF лучше делать отдельно от всего остального.

2) ориентировочно в мае будет бета-версия.

Предложение учтем.
 
Могу разработать внешний вид и функции(описание работы и действие после выполнения).
 
На данном этапе больше интересует сам функционал по определению меток :)
Как выпустим бету, с радостью выслушаю все пожелания.
 
Нашёл программу ищет DTMF  в режиме OnLine, протестил работает отлично, результаты моментально выводит в txt файл. Можно написать DSP который читает нужный код, в нужное время с файла, а потом если найдёт делает нужную функцию
 
Это плохой путь :) В случае, если что-то "заглючит" сложно будет искать ошибку - толи она в модуле DTMF толи еще где... Уже делаем свое, скоро будет. На этой неделе, или на следующей.
 
Ну так, когда плагин? Если что можете на почту скинуть, протестю на ошибки
 
Плагин будет выложен на форуме в разделе "тестовые версии", в этом месяце. Пока идет разработка, но выкладывать еще нечего.
 
Отдельная программа, будет работать совместно в RadioBOSS. Там по пожуланиям пользователей посмотрим как лучше развивать.
 
Долго мучаясь создал свою прогу для обнаружения DTMf, Короче РадиоБосс открывает поток url, затем за 5 минут до рекламы грузится рекламный плейлист, программа как только находит метку, записывает время, и саму метку(3497) в файл, другая программа как обнаруживает в файле нужную строку в радиобосс щёлкает "Некст" и реклама пошла. Потом как лист кончается возвращается всё на место. После каждого обнаружения все записи в файле стираются. Работает.
 
Придумал новую функцию, думаю будет реализованна в следущей версии.
Многие СМС - Биллинг провайдеры включают такой сервис, как пересылка входящих сообщений на e-mail. Так вот если реализовать в радиобоссе e-mail клиент, который будет искать в сообщениях название песен, и если найдёт в базе ставит эту песнь в очередь, если таковых песен много(к примеру: оригинал и ремикс), то ставится та, у которой playcount больше. Как Вам такая функция?
 
Назад
Верх