无法在PyQt4中寻找视频



我在PyQt4中使用Phonon编写了一个简单的视频播放器。视频播放得很好。但我无法找到给定位置的视频。这是我写的代码:

#!/usr/bin/python
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.phonon import Phonon
import sys
class VideoPlayer(QWidget):
    def __init__(self, address, parent = None):
        self.address = address
        QWidget.__init__(self)
        self.player = Phonon.VideoPlayer(Phonon.VideoCategory, self)
        self.player.load(Phonon.MediaSource(self.address))
        window = QHBoxLayout(self)
        window.addWidget(self.player)
        self.setWindowTitle("Simple Video Player")
        self.player.play()
        self.player.seek(10240)
app = QApplication(sys.argv)
vp = VideoPlayer(sys.argv[1])
vp.show()
app.exec_()

我所要做的就是在给定的位置开始和停止视频。

当媒体源仍在加载时,不可能查找到媒体源中的位置。

因此,将处理程序连接到媒体对象的statechange信号,并等待直到它的状态变为PlayingState,然后再尝试查找。

self.player.mediaObject().stateChanged.connect(self.handleStateChanged)
...
def handleStateChanged(self, newstate, oldstate):
    if newstate == Phonon.PlayingState:
        self.player.seek(10240)

有些媒体不容易被Phonon搜索到。文档说

请注意,如果媒体源不可寻,后端可以自由忽略查找请求;您可以通过询问VideoPlayer的media对象来检查。

player->mediaObject()->isSeekable();

我猜你的视频无法搜索。

你用的是什么媒体?像流媒体视频(例如),通常是不可搜索的。

相关内容

  • 没有找到相关文章

最新更新