本文整理汇总了Python中xbmcswift2.ListItem.set_is_playable方法的典型用法代码示例。如果您正苦于以下问题:Python ListItem.set_is_playable方法的具体用法?Python ListItem.set_is_playable怎么用?Python ListItem.set_is_playable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xbmcswift2.ListItem
的用法示例。
在下文中一共展示了ListItem.set_is_playable方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: play
# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_is_playable [as 别名]
def play(url):
url = url.decode('utf-8','ignore')
resolved = u''
try:
import urlresolver
resolved = urlresolver.HostedMediaFile(url).resolve()
vitem = ListItem(label=url, path=resolved)
vitem.is_folder = False
vitem.set_is_playable = True
vitem.set_info(type='video', info_labels={'Title': url})
vitem.add_stream_info(stream_type='video', stream_values={})
plugin.set_resolved_url(resolved)
return plugin.play_video(vitem)
except:
plugin.notify(msg="Failed to resolve {0} to a playable video.".format(url))
try:
if resolved is None or len(resolved) < 5:
import YoutubeDLWrapper
ytdl = YoutubeDLWrapper._getYTDL()
ytdl.clearDownloadParams()
resolved = ytdl.extract_info(url, download=False)
vitem = ListItem(label=url, path=resolved)
vitem.is_folder = False
vitem.set_is_playable = True
vitem.set_info(type='video', info_labels={'Title': url})
vitem.add_stream_info(stream_type='video', stream_values={})
plugin.set_resolved_url(resolved)
return plugin.play_video(vitem)
except:
plugin.notify(msg="Failed to resolve {0} to a playable video.".format(url))
return None
示例2: get_track_item
# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_is_playable [as 别名]
def get_track_item(track, album = None, band = None):
if not album:
if track.get('album_id',None):
album = bc.album_info(track['album_id'])
else:album = {}
if not band:
band = bc.band_info(track['band_id'])
art = track.get('large_art_url', album.get('large_art_url',None))
release_date = track.get('release_date', album.get('release_date',None))
artist = track.get('artist', album.get('artist', band['name']))
if track.get('number',None):
label = u"{0} - {1}".format(track['number'], track['title'])
else: label = track['title']
li = ListItem(
label = label,
icon=art,
thumbnail=art,
path=plugin.url_for('play_track', track_id = track['track_id']),
)
li.set_property('mimetype','audio/mpeg')
li.set_is_playable(True)
infos = {
'title':track['title'],
'tracknumber':track.get('number',None),
'duration':track['duration'],
'lyrics':track.get('lyrics',''),
'album':album.get('title',None),
'artist':artist,
'year':year_from_timestamp(release_date)
}
li.set_info('Music', infos)
return li
示例3: video_detail
# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_is_playable [as 别名]
def video_detail(seasonId):
detail = Meiju.video_detail(seasonId)
season_data = detail["data"]["season"]
title = season_data["title"]
SEASON_CACHE[seasonId] = detail["data"] # store season detail
history = HISTORY.get("list", None)
playing_episode = "0"
if history is not None:
for l in history:
if l["seasonId"] == seasonId:
playing_episode = l["index"]
for episode in season_data["playUrlList"]:
label = title + str(episode["episode"])
if episode["episode"] == playing_episode:
label = "[B]" + colorize(label, "green") + "[/B]"
item = ListItem(**{
'label': label,
'path': plugin.url_for("play_season", seasonId=seasonId, index=episode["episode"], Esid=episode["episodeSid"]),
})
item.set_info("video", {"plot": season_data["brief"],
"TVShowTitle": title,
"episode": int(episode["episode"]),
"season": 0})
item._listitem.setArt({"poster": season_data["cover"]})
item.set_is_playable(True)
yield item
plugin.set_content('episodes')
示例4: tvitem
# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_is_playable [as 别名]
def tvitem(adapter, channel):
titleandtime = channel.nowstarttimeandtitle()
item = ListItem(label=channel.name,
label2=titleandtime,
icon=channel.getimagefile(config.tvconfig.channelsdir),
thumbnail=channel.getimagefile(config.tvconfig.channelsdir),
path=plugin.url_for(str('play_channel'), adapter=adapter, channelid=str(channel.channelid)))
item.set_is_playable(True)
item.set_info('video',
{
'title': channel.name[:15],
'tvshowtitle': titleandtime,
'duration': channel.v_nowduration,
'plot': channel.v_nowdescription,
'plotoutline': channel.v_nowdescription,
'tagline': channel.nowstarttimeandtitle(),
'playcount': 0,
#'cast': channel.v_nowactors,
'fanart': channel.v_nowfanart,
'extrafanart': channel.v_nowposter,
'originaltitle': channel.v_nowtitle,
'year': channel.v_nowyear,
'album': titleandtime, # I used album 'cause I haven't found another field to display label2
'genre': channel.v_nowgenre
})
item.add_context_menu_items(create_context_menu(channel.name, adapter, channel.channelid), replace_items=True)
item.add_stream_info('video',
{'duration': try_parse_int(channel.v_nowduration) * 60, 'plot': channel.v_nowdescription})
return item
示例5: processTracksList
# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_is_playable [as 别名]
def processTracksList(tracks):
items = []
for track in tracks:
item = ListItem()
item.set_label('%s - %s' % (track['artistName'], track['trackName']))
try:
item.set_thumbnail(track['imageLarge'])
except:
pass
item.set_path(plugin.url_for('play',
artist = track['artistName'].encode('utf-8'),
track = track['trackName'].encode('utf-8'))
)
item.set_is_playable(True)
try:
item.set_info('music', {
'Duration': track['durationSec'],
'Title': track['trackName'],
'Artist': track['artistName'],
'TrackNumber': track['position'],
})
except:
pass
# Support Track Downloading
if plugin.get_setting('Download Path') != '':
item.add_context_menu_items([(
plugin.get_string(30007),
'XBMC.RunPlugin(' + plugin.url_for('download',
artist = track['artistName'].encode('utf-8'),
track = track['trackName'].encode('utf-8')) + ')'
)])
items.append(item)
return items
示例6: resolveurl
# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_is_playable [as 别名]
def resolveurl():
url = plugin.keyboard(default='', heading='Video Page URL')
if url is not None:
name = url
if len(url) > 0:
item = ListItem(label=name, label2=url, icon='DefaultVideo.png', thumbnail='DefaultVideo.png',
path=plugin.url_for(endpoint=play, url=url))
item.set_is_playable(True)
item.set_info(type='video', info_labels={'Title': url, 'Plot': url})
item.add_stream_info(stream_type='video', stream_values={})
playable = play(url)
plugin.notify(msg=playable.path, title="Playing..")
plugin.play_video(playable)
# plugin.redirect(plugin.url_for(index))
plugin.clear_added_items()
plugin.end_of_directory()
示例7: get_album
# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_is_playable [as 别名]
def get_album(albumId):
c_list = Meiju.get_album(albumId)
for one in c_list["data"]["results"]:
item = ListItem(**{
'label': one.get("title"),
'path': plugin.url_for("detail", seasonId=one.get("id")),
'icon': one["cover"],
'thumbnail': one["cover"],
})
item.set_info("video", {"plot": one.get("brief", ""),
"rating ": float(one["score"]),
"genre": one["cat"],
"season": one["seasonNo"]})
item.set_is_playable(False)
yield item
plugin.set_content('TVShows')