2

我在 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_()

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

提前致谢。

4

2 回答 2

1

在媒体源仍在加载时,无法搜索到媒体源中的位置。

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

self.player.mediaObject().stateChanged.connect(self.handleStateChanged)
...

def handleStateChanged(self, newstate, oldstate):
    if newstate == Phonon.PlayingState:
        self.player.seek(10240)
于 2011-11-06T20:46:38.363 回答
0

Phonon 不容易搜索到某些媒体。文件说

请注意,如果媒体源不可搜索,后端可以自由地忽略搜索请求;您可以通过询问 VideoPlayer 的媒体对象来检查这一点。

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

我的猜测是您的视频不可搜索。

您使用的是什么媒体?诸如流式视频(例如)之类的东西通常是不可搜索的。

于 2011-11-06T20:37:45.227 回答