Как я могу запустить видео-плагин XBMC/Kodi в скрипте Python?

Я пытаюсь разработать аддон XBMC/Kodi, и моя цель — запустить скрипт и плагины из скрипта Python. В addon.py есть кнопки, когда вы нажимаете их, запускается указанный аддон. Я добился этого для надстройки изображения и игры. Как это:

if control == self.button1:
  xbmc.executebuiltin("RunScript(script.game)")
if control == self.button2:
  xbmc.executebuiltin("RunScript(script.picture)")

Я попытался таким образом вызвать видеоплагин, но выдал сообщение об ошибке. Когда я искал эту проблему, я нашел это:

«Не пытайтесь запускать файлы плагинов из окна скриптов, так как это только выдаст вам странное сообщение об ошибке»

Есть ли другой способ вызвать видео-плагин из скрипта Python или мы можем написать видео-скрипт вместо плагина?


person LadyLyanna    schedule 27.07.2017    source источник


Ответы (2)


Вы должны вызвать видео-плагин следующим образом:

xbmc.executebuiltin("ActivateWindow(<window-id>,'plugin://<plugin-id>/<parameter-optional>',return)")
ex.
xbmc.executebuiltin("ActivateWindow(10025,'plugin://plugin.video.example/',return)")

из коди 17 идентификатор окна для видеоплагина равен 10025.

person Gahan    schedule 28.07.2017
comment
для меня этот метод работает и для запуска скрипта. просто вам нужно убедиться, что плагин или скрипт существует/установлен и включен - person Gahan; 28.07.2017

Вы также можете использовать RunPlugin и RunAddon, которые являются встроенной функцией Kodi. (подробности см. в этом списке встроенных функций KODI)

Вот пример запуска любого плагина:

  1. Для запуска плагина используйте: xbmc.executebuiltin('RunPlugin("plugin.video.something")')

  2. Для запуска скрипта используйте: xbmc.executebuiltin('RunAddon("script.something")')

person Rachit kapadia    schedule 28.07.2017
comment
Я попробовал ваш первый пример для плагина; дайте мне какую-нибудь ошибку, и я нашел эту информацию на странице Kodi, вы не можете запустить плагин из скрипта Python ... - person LadyLyanna; 31.07.2017
comment
@LadyLyanna Я думаю, что этот метод устарел, хотя он был приведен в руководстве, но вы также можете использовать второй метод, о котором я упоминал ранее, то есть xbmc.executebuiltin('RunAddon("plugin.video.something")') - person Rachit kapadia; 31.07.2017