Невозможно найти видео в PyQt4 - PullRequest
2 голосов
/ 06 ноября 2011

Я написал простой видеоплеер с использованием Phonon в PyQt4.Видео играет нормально.Но я не могу найти видео на заданную позицию.Вот код, который я написал:

#!/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_()

Все, что я пытаюсь сделать, это запустить и остановить видео на заданных позициях.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Невозможно найти позицию в источнике мультимедиа, пока он все еще загружается.

Так что подключите обработчик к сигналу stateChanged объекта мультимедиа и дождитесь его состоянияменяется на PlayingState перед попыткой поиска.

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

def handleStateChanged(self, newstate, oldstate):
    if newstate == Phonon.PlayingState:
        self.player.seek(10240)
0 голосов
/ 07 ноября 2011

Некоторые медиа не легко найти Phonon. В документации написано

Обратите внимание, что сервер может свободно игнорировать запрос на поиск, если источник медиа не доступен для поиска; Вы можете проверить это, спросив медиа-объект VideoPlayer.

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

Полагаю, ваше видео недоступно для поиска.

Какие медиа вы используете? Такие вещи, как потоковое видео (например), обычно не доступны для поиска.

...