def browse_playback_devices(self):
'''set the active playback device'''
xbmcplugin.setContent(self.addon_handle, "files")
items = []
if self.win.getProperty("spotify.supportsplayback"):
# local playback
label = self.addon.getLocalizedString(11037)
if self.local_playback:
label += " [%s]" % self.addon.getLocalizedString(11040)
url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=local"
li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png")
li.setProperty("isPlayable", "false")
li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg"})
li.addContextMenuItems([], True)
xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=url, listitem=li, isFolder=False)
else:
# local playback using a remote service
label = self.addon.getLocalizedString(11060)
if self.addon.getSetting("playback_device") == "remote":
label += " [%s]" % self.addon.getLocalizedString(11040)
url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=remote"
li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png")
li.setProperty("isPlayable", "false")
li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg"})
li.addContextMenuItems([], True)
xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=url, listitem=li, isFolder=False)
# connect devices
for device in self.sp.devices()["devices"]:
label = "Spotify Connect: %s" % device["name"]
if device["is_active"] and self.addon.getSetting("playback_device") == "connect":
label += " [%s]" % self.addon.getLocalizedString(11040)
url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=%s" % device["id"]
li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png")
li.setProperty("isPlayable", "false")
li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg"})
li.addContextMenuItems([], True)
xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=url, listitem=li, isFolder=False)
if xbmc.getCondVisibility("System.HasAddon(plugin.audio.squeezebox)"):
# LMS playback
label = xbmc.getInfoLabel("System.AddonTitle(plugin.audio.squeezebox)")
if self.addon.getSetting("playback_device") == "squeezebox":
label += " [%s]" % self.addon.getLocalizedString(11040)
url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=squeezebox"
li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png")
li.setProperty("isPlayable", "false")
li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg"})
li.addContextMenuItems([], True)
xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=url, listitem=li, isFolder=False)
xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED)
xbmcplugin.endOfDirectory(handle=self.addon_handle)
plugin_content.py 文件源码
python
阅读 15
收藏 0
点赞 0
评论 0
评论列表
文章目录