DockSync - это аддон для PulseSync, разработанный специально для возможности управления приложением Яндекс.Музыки через мини-клавиатуры
Для использования аддона, необходимо:
- Убедиться, что установлена последняя версия PulseSync и последняя версия мода для Яндекс.Музыки
- Установить последнюю версию аддона
- Установить последнюю версию плагина для MiraBox/Ajazz интерфейса
- Запустить интерфейс MiraBox/Ajazz и Яндекс.Музыку в любом порядке
Примечание: Аддон является базой и без доп. плагинов, установленных на оборудование - работать не будет. Приложение PulseSync является обязательным для корректной работы аддона.
Аддон принимает запросы по WebSocket, для корректной работы необходимо чтобы ваш плагин самостоятельно поднимал WebSocket сервер по определенному порту. Порт можно изменить в настройках аддона.
Шаблон любого запроса плагина:
{
"request": "requestId",
"message": "requestMessage"
}Поле request является обязательным и используется для понимания вида команды, отправленной плагином.
Поле message является необязательным и используется для основного дополнительного параметра команды.
{
"request": "device"
}Данный запрос используется как тестовый. Если WebSocket верно настроен - в DevTools консоли Яндекс.Музыки появится сообщение Плагин успешно подключился к доку!.
{
"request": "volume",
"message": 0.2,
"how": 1
}message - количество на которое нужно увеличить/уменьшить громкость плеера
how - направление изменения, может равняться -1 или 1
{
"request": "track",
"message": 1,
}message - указывает в каком направлении нужно "двинуть" плеер (следующий трек/предыдущий трек), может равняться -1 или 1
{
"request": "repeatInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
{
"request": "shuffleInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
{
"request": "muteInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
{
"request": "playerInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
{
"request": "likeInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
{
"request": "dislikeInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
{
"request": "trackVibeInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
{
"request": "globalVibeInteraction",
}Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(
При отправке любого из этих запросов, аддон ответит схожим запросом на WebSocket с запрошенной информацией в параметре message
- 0 - Повтор выключен
- 1 - Повтор включен для плейлиста
- 2 - Повтор включен для одного трека
Отправляемый запрос из плагина:
{
"request": "repeatState",
}Ответ от аддона:
{
"request": "repeatState",
"response": 1
}
- 0 - Шаффл выключен
- 1 - Шаффл включен
Отправляемый запрос из плагина:
{
"request": "shuffleState",
}Ответ от аддона:
{
"request": "shuffleState",
"response": 1
}
- 0 - Трек не лайкнут
- 1 - Трек лайкнут
Отправляемый запрос из плагина:
{
"request": "likeState",
}Ответ от аддона:
{
"request": "likeState",
"response": 1
}
- 0 - Плеер играет
- 1 - Плеер на паузе
Отправляемый запрос из плагина:
{
"request": "playingState",
}Ответ от аддона:
{
"request": "playingState",
"response": 1
}
- 0 - Волна выключена
- 1 - Волна включена
Отправляемый запрос из плагина:
{
"request": "vibeState",
}Ответ от аддона:
{
"request": "vibeState",
"response": 1
}
Отправляемый запрос из плагина:
{
"request": "coverImage",
}Ответ от аддона:
{
"request": "coverImage",
"response": "http://example.com"
}- Спасибо разработчикам PulseSync за удобный интерфейс и обработку плагинов
- Спасибо WolfySoCute за вдохновение и примеры работы WebSocket
- Спасибо foreA-adoxid за ночные разговоры об window.sonataState