我在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_()
我所要做的就是在给定位置开始和停止视频。
提前致谢。
答案 0 :(得分:1)
在媒体源仍处于加载状态时,无法在媒体源中寻找位置。
因此,将处理程序连接到媒体对象的stateChanged信号,并在尝试搜索之前等待状态更改为PlayingState。
self.player.mediaObject().stateChanged.connect(self.handleStateChanged)
...
def handleStateChanged(self, newstate, oldstate):
if newstate == Phonon.PlayingState:
self.player.seek(10240)
答案 1 :(得分:0)
Phonon不容易寻找某些媒体。文档说
请注意,如果媒体源不可搜索,后端可以自由忽略搜索请求;您可以通过询问VideoPlayer的媒体对象来检查这一点。
player->mediaObject()->isSeekable();
我的猜测是您的视频无法搜寻。
您使用的是哪种媒体?像流视频(例如)这样的东西通常是不可寻找的。 p>