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 в случае успешного выполнения |
|
скачать файл музыкальной базы (xml) |
Параметры: "filename" — название музыкальной базы, которую нужно получить
Возвращаемые данные: содержимое музыкальной базы
Пример: http://127.0.0.1:9001/?pass=WxPe2JXh&action=library&filename=Base |
|
library_edit редактирование базы |
Параметры "type" — тип запроса: odelete - удалить трек из базы "library" — название базы "fn" — путь к файлу
Возвращаемые данные: OK в случае успешного выполнения
Пример |
|
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
Пример возвращаемых данных: показать
|
|
добавить запрос на песню |
Параметры: "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 атрибутов задания: 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 в случае успеха |