1
我正在嘗試在PyQt4中編寫一個小型音頻播放器。這是代碼的一部分,我已經寫了:如何獲得在PyQt4中播放媒體的總時間?
class Player(QMainWindow):
def __init__(self, fileLoc, parent = None):
super(QMainWindow, self).__init__()
self.totTime = 0
self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
self.mediaObject = Phonon.MediaObject(self)
self.mediaObject.setTickInterval(1000)
self.mediaObject.tick.connect(self.tick)
self.mediaObject.stateChanged.connect(self.stateChanged)
Phonon.createPath(self.mediaObject, self.audioOutput)
#Define Play, Pause and Stop actions
self.playAction = QAction(self.style().standardIcon(QStyle.SP_MediaPlay),
"Play", self, enabled = False, triggered = self.mediaObject.play)
self.pauseAction = QAction(self.style().standardIcon(QStyle.SP_MediaPause),
"Pause", self, enabled = False, triggered = self.mediaObject.pause)
self.stopAction = QAction(self.style().standardIcon(QStyle.SP_MediaStop),
"Stop", self, enabled = False, triggered = self.mediaObject.stop)
#Initiate User Interface
self.userInterface()
self.timeDisp.display('00:00')
self.mediaObject.setCurrentSource(Phonon.MediaSource(fileLoc))
self.mediaObject.play()
def tick(self, time):
self.displayTime = QTime(0, (time/60000) % 60, (time/1000) % 60)
self.timeDisp.display(self.displayTime.toString('mm:ss'))
我的問題是,我無法弄清楚如何獲得文件的總持續時間正在播放。我試圖在init()的末尾嘗試打印mediObject.totalTime()的輸出。但是它對所有視頻返回-1。 tick()中的mediObject.totalTime()返回不正確的持續時間(比實際持續時間長10到15秒)。
此外,我可能需要從課堂外訪問總持續時間的值。我怎樣才能做到這一點?
在此先感謝。
這並不在獲得該文件的時間幫助*當前正在播放*,不是嗎? – Junuxx