当前位置: 首页>>代码示例>>Python>>正文


Python ListItem.set_is_playable方法代码示例

本文整理汇总了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
开发者ID:moedje,项目名称:kodi-repo-gaymods,代码行数:33,代码来源:addon.py

示例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
开发者ID:plule,项目名称:plugin.audio.bandcamp,代码行数:36,代码来源:default.py

示例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')
开发者ID:brmnh,项目名称:xbmc-addons-chinese,代码行数:29,代码来源:path.py

示例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
开发者ID:giogris,项目名称:tvs,代码行数:33,代码来源:addon.py

示例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
开发者ID:Backmute,项目名称:seppius-xbmc-repo,代码行数:37,代码来源:addon.py

示例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()
开发者ID:moedje,项目名称:kodi-repo-gaymods,代码行数:18,代码来源:oldaddon.py

示例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')
开发者ID:2php,项目名称:xbmc-addons-chinese,代码行数:18,代码来源:path.py


注:本文中的xbmcswift2.ListItem.set_is_playable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。