python类PlayList()的实例源码

sources.py 文件源码 项目:repository.midraal 作者: midraal 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def queue_source(item, depth=0):
    """
    queue item
    Keyword Arguments:
    item -- JenItem to try playing
    """
    from resources.lib.util.url import get_addon_url
    jen_item = JenItem(item)
    playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
    if "<item>" in str(jen_item):
        play = False
        if xbmcaddon.Addon().getSetting("autostart_queue") == "true":
            if playlist.size() == 0:
                play = True
        playlist.add(
            get_addon_url("get_sources", str(item)),
            xbmcgui.ListItem(
                jen_item["title"], iconImage=jen_item.get("thumbnail", "")))
        if play:
            play_queue()
    else:
        link = jen_item.get("url", jen_item.get("link", ""))
        jenlist = JenList(link).get_raw_list()
        for list_item in jenlist:
            queue_source(str(list_item), depth + 1)
    if depth == 0:
        xbmcgui.Dialog().notification(
            ADDON.getAddonInfo("name"), _("Finished Queueing").encode('utf-8'),
            ADDON.getAddonInfo("icon"))
        xbmc.executebuiltin("Container.Refresh")
sources.py 文件源码 项目:repository.midraal 作者: midraal 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def clear_queue():
    xbmc.PlayList(xbmc.PLAYLIST_VIDEO).clear()
    xbmcgui.Dialog().notification(
        ADDON.getAddonInfo("name"), _("Queue cleared").encode('utf-8'),
        ADDON.getAddonInfo("icon"))
    xbmc.executebuiltin('Container.Refresh')
sources.py 文件源码 项目:repository.midraal 作者: midraal 项目源码 文件源码 阅读 35 收藏 0 点赞 0 评论 0
def play_queue():
    playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
    if playlist.size() > 0:
        item = playlist[0]
        xbmc.Player().play(playlist, item)
        xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item)
    else:
        xbmcgui.Dialog().notification(
            ADDON.getAddonInfo("name"), _("Queue is empty").encode('utf-8'),
            ADDON.getAddonInfo("icon"))


#  LocalWords:  searchsd HD
player.py 文件源码 项目:repository.midraal 作者: midraal 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def play(self, url, item):
        if type(url) == list:
            playlist = xbmc.PlayList()
            for vid in url:
                playlist.add(vid, item)
            xbmc.Player().play(playlist, item)
        else:
            xbmc.Player().play(url, item)
        self.item = item
default.py 文件源码 项目:catchup4kodi 作者: catchup4kodi 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def playall(name,url):
    dp = xbmcgui.DialogProgress()
    dp.create("Disney Junior",'Creating Your Playlist')
    dp.update(0)
    pl = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
    pl.clear()

    response=OPEN_URL(url)
    link=response.split('"title":"')
    test=re.compile('"embedURL":"(.+?)"').findall(response)

    playlist = []
    nItem    = len(test)
    try:
        for p in link:
          try:
            title=p.split('"')[0]            
            newurl=re.compile('"embedURL":"(.+?)"').findall(p)[0]            
            iconimage=re.compile('"thumb":"(.+?)"').findall(p)[0]            
            description=re.compile('"description":"(.+?)"').findall(p)[0]
            SHOWME=re.compile('"ptitle":"(.+?)"').findall(p)[0]       
            if name in SHOWME:        
                liz = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=iconimage)
                liz.setInfo( type="Video", infoLabels={ "Title": title} )
                liz.setProperty("IsPlayable","true")

                r='"mp4".+?".+?"url":"(.+?)"}'
                html=OPEN_URL(newurl)
                match = re.compile(r).findall(html)
                amount = len(match)-1
                URL=match[amount]
                playlist.append((URL ,liz))

                progress = len(playlist) / float(nItem) * 100  
                dp.update(int(progress), 'Adding to Your Playlist',title)

                if dp.iscanceled():
                    return
          except:pass
        dp.close()

        print 'THIS IS PLAYLIST====   '+str(playlist)

        for blob ,liz in playlist:
            try:
                if blob:
                    print blob
                    pl.add(blob,liz)
            except:
                pass

        if not xbmc.Player().isPlayingVideo():
        xbmc.Player(xbmc.PLAYER_CORE_MPLAYER).play(pl)
    except:
        raise
        dialog = xbmcgui.Dialog()
        dialog.ok("Disney Junior", "Sorry Get All Valid Urls", "Why Not Try A Singular Video")
addon.py 文件源码 项目:plugin.video.douyutv2 作者: yangqian 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def play_video(roomid):
    """
    Play a video by the provided path.
    :param path: str
    :return: None
    """
    cdnindex=__addon__.getSetting("cdn")
    player=xbmc.Player()
    if cdnindex != "0":
      cdndict={"1":"ws","2":"ws2","3":"lx","4":"dl","5":"tct","6":""}
      cdn=cdndict[cdnindex]
      room=get_room(roomid,cdn)
      path,play_item=get_play_item(room)
      # Pass the item to the Kodi player.
      xbmcplugin.setResolvedUrl(_handle, True, listitem=play_item)
      # directly play the item.
      player.play(path, play_item)
    else:
      cdnlist=["ws","ws2","lx","dl","tct"]
      itemlist=[get_play_item(get_room(roomid,x)) for x in cdnlist]
      if __addon__.getSetting("excludeRTMP") == 'true':
        newitemlist=[]
        for path,x in itemlist:
          if 'rtmp' not in path:
            newitemlist.append((path,x))
        itemlist=newitemlist
      playlist=xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
      playlist.clear()
      for path,x in itemlist:
        playlist.add(path,x)
      player.play(playlist)
    with closing(OverlayText(alignment=0)) as overlay:
      #print "starting",i
      while not player.isPlaying():
        xbmc.sleep(100)
      overlay.show()
      overlay.text=u'????????'
      textlist=[u'??????????']
      danmu=douyudanmu(roomid)
      print danmu.roominfo,roomid
      if danmu.roominfo==None:
        return
      while not xbmc.abortRequested and player.isPlaying():
      #while not xbmc.abortRequested:
        s=danmu.get_danmu()
        if len(s)!=0:
          textlist.append(s)
          if(len(textlist)>20):
            textlist.pop(0)
        overlay.text=u'\n'.join(textlist)
        #print "looping",i
    danmu.exit()
platformtools.py 文件源码 项目:addon 作者: alfa-addon 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def set_player(item, xlistitem, mediaurl, view, strm):
    logger.info()
    logger.debug("item:\n" + item.tostring('\n'))

    # Movido del conector "torrent" aqui
    if item.server == "torrent":
        play_torrent(item, xlistitem, mediaurl)
        return

    # Si es un fichero strm no hace falta el play
    elif strm:
        xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xlistitem)
        if item.subtitle != "":
            xbmc.sleep(2000)
            xbmc.Player().setSubtitles(item.subtitle)

    else:
        logger.info("player_mode=%s" % config.get_setting("player_mode"))
        logger.info("mediaurl=" + mediaurl)
        if config.get_setting("player_mode") == 3 or "megacrypter.com" in mediaurl:
            import download_and_play
            download_and_play.download_and_play(mediaurl, "download_and_play.tmp", config.get_setting("downloadpath"))
            return

        elif config.get_setting("player_mode") == 0 or \
                (config.get_setting("player_mode") == 3 and mediaurl.startswith("rtmp")):
            # Añadimos el listitem a una lista de reproducción (playlist)
            playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
            playlist.clear()
            playlist.add(mediaurl, xlistitem)

            # Reproduce
            xbmc_player = xbmc.Player()
            xbmc_player.play(playlist, xlistitem)
        # elif config.get_setting("player_mode") == 1 or item.isPlayable:
        elif config.get_setting("player_mode") == 1:
            logger.info("mediaurl :" + mediaurl)
            logger.info("Tras setResolvedUrl")
            # si es un archivo de la videoteca enviar a marcar como visto
            if strm or item.strm_path:
                from platformcode import xbmc_videolibrary
                xbmc_videolibrary.mark_auto_as_watched(item)
            xlistitem.setPath(mediaurl)
            xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xlistitem)

        elif config.get_setting("player_mode") == 2:
            xbmc.executebuiltin("PlayMedia(" + mediaurl + ")")

    # TODO MIRAR DE QUITAR VIEW
    if item.subtitle != "" and view:
        logger.info("Subtítulos externos: " + item.subtitle)
        xbmc.sleep(2000)
        xbmc.Player().setSubtitles(item.subtitle)

    # si es un archivo de la videoteca enviar a marcar como visto
    if strm or item.strm_path:
        from platformcode import xbmc_videolibrary
        xbmc_videolibrary.mark_auto_as_watched(item)


问题


面经


文章

微信
公众号

扫码关注公众号