⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 videodisplay.py

📁 属性sosuo算法
💻 PY
字号:
import appimport frontendimport osimport utilfrom xpcom import componentsfrom threading import Lockimport frontendimport timeselectItemLock = Lock()################################################################################### The Playback Controller                                               ###################################################################################class PlaybackController (app.PlaybackControllerBase):        def playItemExternally(self, itemID):        item = app.PlaybackControllerBase.playItemExternally(self, itemID)        # now play this item externally        moviePath = ""        try:            moviePath = os.path.normpath(item.getVideoFilename())            os.startfile(moviePath)        except:            print "DTV: movie %s could not be externally opened" % moviePath################################################################################### Right-hand pane video display                                         ###################################################################################class VideoDisplay (app.VideoDisplayBase):    "Video player shown in a MainFrame's right-hand pane."    def initRenderers(self):        self.renderers.append(VLCRenderer())    def setArea(self, area):        # we hardcode the videodisplay's area to be mainDisplayVideo        pass    def removedFromArea(self):        # don't care about this either        pass    def goFullScreen(self):        return frontend.vlcRenderer.goFullscreen(url)    def exitFullScreen(self):        return frontend.vlcRenderer.exitFullScreen(url)    def setVolume(self, volume):         self.volume = volume        frontend.vlcRenderer.setVolume(volume)# This is a major hack to avoid VLC crashes by giving it time to# process each stop or play command. --NNdef lockAndPlay(func):    def locked(*args, **kwargs):        global selectItemLock        selectItemLock.acquire()        try:            ret = func(*args, **kwargs)            time.sleep(1)            return ret        finally:            selectItemLock.release()    return lockedclass VLCRenderer (app.VideoRenderer):    """The VLC renderer is very thin wrapper around the xine-renderer xpcom    component.     """    def canPlayFile(self, filename):        url = util.absolutePathToFileURL(filename)        return frontend.vlcRenderer.canPlayURL(url)    @lockAndPlay    def selectFile(self, filename):        url = util.absolutePathToFileURL(filename)        return frontend.vlcRenderer.selectURL(url)    def setVolume(self, volume):         return frontend.vlcRenderer.setVolume(volume)    @lockAndPlay    def reset(self):         return frontend.vlcRenderer.reset()    @lockAndPlay    def play(self):         return frontend.vlcRenderer.play()    def pause(self):         return frontend.vlcRenderer.pause()    @lockAndPlay    def stop(self):         return frontend.vlcRenderer.stop()    def goToBeginningOfMovie(self):         return frontend.vlcRenderer.goToBeginningOfMovie()    def getDuration(self):         return frontend.vlcRenderer.getDuration()    def getCurrentTime(self):         return frontend.vlcRenderer.getCurrentTime()    def setCurrentTime(self, time):         return frontend.vlcRenderer.setCurrentTime(time)    def getRate(self):         return frontend.vlcRenderer.getRate()    def setRate(self, rate):         return frontend.vlcRenderer.setRate(rate)##############################################################################################################################################################

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -