Удаленное управление через API

Click to Display Table of Contents

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

Удаленное управление через API

В программе RadioBOSS есть API для удаленного управления.

 

Включить этот API и сделать нужные настройки можно в окне «Настройки»: Настройка API для удаленного управления.

 

Информация по API для удаленного управления программой по протоколу HTTP

 

Удаленное управление по протоколу HTTP

 

Запросы:

 

Примечание. При создании строки запроса укажите в параметрах функцию кодирования URL (URL Encoding), например urlencode (http://www.php.net/manual/en/function.urlencode.php) в PHP. Запросы следует направлять в кодировке UTF8.

 

I. Выполнение команды. В данном API используются те же команды, что и в планировщике. Список команд: Команды планировщика

Некоторые команды не могут быть выполнены через API: getrandomplaylist, getfile, playrequestedsong

 

Синтаксис:

http://IP:Port/?pass=ПАРОЛЬ&cmd=КОМАНДА

(замените «ПАРОЛЬ» и «КОМАНДА» на соответствующие значения)

 

Пример 1. Воспроизведение следующего трека (команда: next)

http://127.0.0.1:9001/?pass=WxPe2JXh&cmd=next

 

Пример 2. Воспроизведение первого трека в плейлисте (команда: play 1)

http://127.0.0.1:9001/?pass=WxPe2JXh&cmd=play%201

 

II. Выполнение действия

 

Синтаксис:

http://IP:Port/?pass=ПАРОЛЬ&action=ДЕЙСТВИЕ

(замените «ПАРОЛЬ» и «ДЕЙСТВИЕ» на соответствующие значения)

 

Возможные значения параметра ДЕЙСТВИЕ:

 

playbackinfo

получить информацию о воспроизведении

Возвращаемые данные: XML, содержащий информацию о текущем и следующем треке, позицию в плейлисте и текущее состояние некоторых опций программы.

 

Пример:

http://127.0.0.1:9001/?pass=WxPe2JXh&action=playbackinfo

 

Пример возвращаемых данных: показать

inserttrack

вставить трек в плейлист

Параметры:

"filename" — имя локального файла

"pos" — позиция в плейлисте, куда будет вставлен трек (1 ... N).

Другие возможные значения:

 -1: вставить в конец плейлиста

 -2: вставить после текущего трека

-3: вставить после заданий планировщика

"streamingtitle" — установить название вещания для вставленного трека

 

Пример:

Вставить трек “D:\music\track.mp3”

http://127.0.0.1:9001/?pass=WxPe2JXh&action=inserttrack&filename=D%3A%5Cmusic%5Ctrack.mp3&pos=-2

 

Возвращаемые данные: OK в случае успешного выполнения

library

скачать файл музыкальной базы (xml)

Параметры:

"filename" — название музыкальной базы, которую нужно получить

 

Возвращаемые данные: содержимое музыкальной базы

 

Пример:

http://127.0.0.1:9001/?pass=WxPe2JXh&action=library&filename=Base

library_edit

редактирование базы

Параметры

"type" — тип запроса:

odelete - удалить трек из базы

"library" — название базы

"fn" — путь к файлу

 

Возвращаемые данные: OK в случае успешного выполнения

 

Пример

http://127.0.0.1:9001/?pass=WxPe2JXh&action=library_edit&type=delete&library=Base&fn=C%3A%5CMusic%5CTrack01.mp3

trackartwork

скачать обложку текущего трека

Возвращаемые данные: обложка текущего трека (или ничего, если обложка отсутствует)

nexttrackartwork

скачать обложку следующего трека

Возвращаемые данные: обложка следующего трека (или ничего, если обложки нет)

setnexttrack

установить следующий трек

Параметры:

"pos" — позиция в плейлисте трека, который будет выбран следующим (1 ... N)

 

Пример:

Выбрать первый трек в плейлисте в качестве следующего

http://127.0.0.1:9001/?pass=WxPe2JXh&action=setnexttrack&pos=1

 

Возвращаемые данные: OK в случае успешного выполнения

delete

удалить трек из плейлиста

Параметры:

"pos" — позиция трека в плейлисте, который нужно удалить (1 ... N). Можно указать несколько значений через запятую, например: 1,3,10.

 

Пример:

Удалить второй трек из плейлиста

http://127.0.0.1:9001/?pass=WxPe2JXh&action=delete&pos=2

 

Возвращаемые данные: OK в случае успешного выполнения

move

переместить трек в плейлисте

Параметры:

"pos1" — позиция трека, который нужно переместить

"pos2" — новая позиция трека

 

Возвращаемые данные: OK в случае успешного выполнения

mic

включить или выключить микрофон

Параметры:

"on" - 0 для выключения микрофона, 1 для включения. Если параметр пропущен, будет возвращен статус микрофона. При наличии параметра, возвращается OK в случае успешного выполнения

0 - выкл

1 - вкл

 

Пример (включить микрофон):

http://127.0.0.1:9001/?pass=WxPe2JXh&action=mic&on=1

 

Пример (query status):

http://127.0.0.1:9001/?pass=WxPe2JXh&action=mic

getplaylist

получить содержимое плейлиста

 

устаревшая команда, пожалуйста, используйте вместо нее getplaylist2

Возвращаемые данные: XML, содержащий информацию о треках, находящихся в активном плейлисте. Читает теги, поэтому может работать медленно.

 

Параметры:

(необязательно) "from", "to" - если установлены, получить только треки от позиции from до позиции to (включительно)

 

Пример возвращаемых данных: показать

getplaylist2

получить содержимое плейлиста

Возвращаемые данные: XML, содержащий информацию о треках в плейлисте.

 

Параметры

(необязательно) "cnt" - максимальное количество треков в результате, 0 = все треки

 

Пример возвращаемых данных: показать

trackinfo

получить информацию о треке

Параметры:

"pos" — позиция трека в плейлисте (1 ... N)

 

Пример:

http://127.0.0.1:9001/?pass=WxPe2JXh&action=trackinfo&pos=2

 

Пример возвращаемых данных: показать

songrequest

добавить запрос на песню

Параметры:

"filename" - имя файла запрошенного трека (полный путь на диске)

"message" - сообщение от пользователя (необязательно)

 

Чтобы просмотреть список запрошенных песен вручную в меню нажмите Вид - Запросы песен.

Чтобы автоматически воспроизвести песню из списка запрошенных, используйте команду playrequestedsong в планировщике.

 

Возвращаемые данные: OK в случае успешного выполнения

songrequestclear

очистить список запрошенных песен

Очистить список запрошенных песен

 

Возвращаемые данные: OK в случае успешного выполнения

songrequestlist

получить список запрошенных песен

Возвращаемые данные: XML с информацией о запрошенных треках. Показать пример

encoderstatus

получить информацию о выходах вещания

Возвращаемые данные: XML, содержащий информацию о выходах вещания. Показать пример

streamarchivestatus

получить информацию о записи потока

Получить статус функции Записи потока

0 - выкл

1 - вкл

schedule

управление планировщиком

Параметры

"type" - тип запроса, один из:

olist - получить список заданий (список всех заданий в формате XML)

odelete - удалить задание

orun - запустить задание

oadd - добавить задание

oupdate - редактировать задание

ostate - включить или выключить планировщик, а также получить статус планировщика

"event" - XML данные задания (когда type "update" или "add")

"id" - ID задания, можно получить выполнением запроса "list" (используется когда type "delete", "run" или "update")

"set" - on (включить) или off (выключить) (когда type - "state"), если параметр не указан - возвращается текущий статус планировщика

"skipnext" - значение 1 если нужно пропустить запуск задания по расписанию (когда type - "run").

 

Возвращаемые значения:

для запросов delete, run, add, update: OK в случае успешного выполнения

для запроса state: on - планировщик включенб off - планировщик выключен

 

Пример XML со списком заданий

 

Значение некоторых XML атрибутов задания:

Imm - запускать задание точно в указанное время

bRepeat - повторять каждые

Enqueue - поставить в очередь после других заданий

DelPrev - удалять имеющися задания в плейлисте

Above - поверх эфира

MuteLev - приглушение плейлиста при "поверх эфира"

PausePlaylist - ставить плейлист на паузу при "поверх эфира"

getlastplayed

получить список последних проигранных треков

Параметры

"filter" = 1 - (необязательно) не включать треки, названия которых не были отправлены на сервер

 

Возвращаемые данные: XML, содержащий информацию о недавно проигранных треках. Показать пример

readtag

читать тег для файла

Параметры

"fn" - имя файла

"artwork" (необязательно) - 1 чтобы получить обложку (строка base64)

 

Пример

http://127.0.0.1:9001/?pass=WxPe2JXh&action=readtag&fn=D:\Metallica\Metallica%20-%20Darkness.mp3

 

Пример возвращаемых данных: показать

writetag

изменить тег файла

Параметры

"fn" - имя файла

"data" - данные тега в формате XML (в формате, возвращаемом readtag)

 

Результат

OK в случае успеха

Error с описанием ошибки если сохранение прошло с ошибкой

writeartwork

обновить обложку у трека

Параметры

"fn" - имя файла

"artwork" - artwork data, base-64 encoded

 

Запрос должен делаться методом POST, тип содержимого application/x-www-form-urlencoded

 

Request example using PHP: show

 

Результат

OK в случае успеха

Error с описанием ошибки если сохранение прошло с ошибкой

setcasttitle

отправить новое название трека на сервера вещания

Параметры

"title" - название трека

 

Результат

OK в случае успеха

status

Результат: XML, содержащий информацию о версии RadioBOSS и время работы программы в секундах

getencoder

получить конфигурацию потока

Параметры

"id" - ID потока (0..N), 0 - первый в списке

 

Результат: XML данные с конфигурацией потока

 

Пример возвращаемых данных: показать

setencoder

изменить конфигурацию потока

Параметры

"id" - ID потока (0..N), 0 - первый в списке, -1 - добавить новый поток

"data" - данные потока в формате XML (в формате, возвращенном getencoder).

 

Результат

OK в случае успеха

deleteencoder

удалить поток

Параметры

"id" - ID потока (0..N), 0 - первый в списке

 

Результат

OK в случае успеха