Написал к коди плагин совместимый с kodi notifer, но при этом если приходит новое сообщение (во время воспроизведения предыдущего), то он просто прерывает предыдущее и голос не накладывается + возможность из мажора слать сообщения появляющиеся в окне (не стандартное окно нотифай! а большое окно по центру экрана) + возможность воспроизвести несколько стандартных фраз и звуков (поставляются внутри плагина)
Новый плагин совместим с оригинальным модулем MDM Kodi Notifier + реализована отсылка текстовых уведомлений в ручном режиме (KODI rise window programing)
Специфика:
Использование фреймворка pyxbmct
Если следующий звуковой файл приходит в то время, когда предыдущий еще не окончился - проигрывание предыдущего прекращается и начинается воспроизведение последнего "прибывшего" звука
Примеры вызова:
Вывод звука из файла на локальном диске:
Код: Выделить всё
http://xbmc:xbmc@192.168.1.122:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.alicevox.master","params":["D:\\ringtone.wav"]},"id":1}
Вывод звука по http ссылке:
Код: Выделить всё
http://xbmc:xbmc@192.168.1.10:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.alicevox.master","params":["http://192.168.1.2/cms/cached/voice/aebd42dddcca11fa8b8d5ad4d75793d3_google.wav"]},"id":1}
Вывод стандартного звука плагина:
Код: Выделить всё
http://xbmc:xbmc@192.168.1.122:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.alicevox.master","params":["welcome"]},"id":1}
Код: Выделить всё
http://xbmc:xbmc@192.168.1.122:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.alicevox.master","params":["ringtone"]},"id":1}
Вывод сообщения:
Код: Выделить всё
http://xbmc:xbmc@192.168.1.122:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.alicevox.master","params":["MESSAGE", "SmartHome Alice", "http://192.168.1.2/img/logo_small.png", "Проверка подключения"]},"id":1}
Пример вызова из php кода MDM:
Код: Выделить всё
geturl('http://xbmc:xbmc@192.168.1.51:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Addons.ExecuteAddon","params":{"addonid":"script.alicevox.master","params":["ringtone"]},"id":1}',0);
где:
xbmc:xbmc - логин и пароль к KODI
192.168.1.122 & 192.168.1.10 - два разных KODI
192.168.1.2 - удаленный сервер с хостингом картинок (например MDM)
github с проектом:
https://github.com/SergMicar/script.alicevox.master