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'))
내 문제는 : 이것은 내가 작성한 코드의 일부이다. () 끝에 mediObject.totalTime()의 출력을 인쇄 해 보았습니다. 그러나 모든 동영상에 대해 -1이 반환되었습니다. tick() 안의 mediObject.totalTime()이 잘못된 지속 시간 (실제 지속 시간보다 10 - 15 초 더 긴)을 반환합니다.
또한 클래스 외부에서 총 재생 시간 값에 액세스해야 할 수도 있습니다. 어떻게해야합니까? 사전에
감사합니다.
현재 재생중인 *, 그것은 무엇입니까? – Junuxx