0
나는 나무 딸기 파이가 있습니다. phonon + qt + python을 사용하여 모든 유형의 비디오를 표시하고 싶습니다. 나는 QT에서 C++을 사용하고 싶지 않다. 나는 다음과 같은 코드를 사용하려고했지만, 다음과 같은 에러를 내고있다 : phonon이라는 모듈이 없다. 나는 이미 phonon을 sudo apt-install phonon을 사용하여 설치한다. 그러나 여전히 그런 오류를 준다. 어느 쪽이든 그것을 해결하는 방법을 알고 있거나 파이썬 + qt를 사용하여 비디오를 표시하는 다른 방법이 있습니까? 아니면 phonon을 설치하는 다른 방법이 있습니까?라즈베리 파이에 phonon + python + qt를 사용하여 비디오를 표시하는 방법
from PyQt4 import QtGui, QtCore
import PyQt4.phonon
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.media = phonon.MediaObject(self)
self.media.stateChanged.connect(self.handleStateChanged)
self.video = phonon.VideoWidget(self)
self.video.setMinimumSize(400, 400)
self.audio = phonon.AudioOutput(phonon.VideoCategory, self)
phonon.createPath(self.media, self.audio)
phonon.createPath(self.media, self.video)
self.button = QtGui.QPushButton('Choose File', self)
self.button.clicked.connect(self.handleButton)
self.list = QtGui.QListWidget(self)
self.list.addItems(phonon.BackendCapabilities.availableMimeTypes())
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.video, 1)
layout.addWidget(self.button)
layout.addWidget(self.list)
def handleButton(self):
if self.media.state() == phonon.PlayingState:
self.media.stop()
else:
path = QtGui.QFileDialog.getOpenFileName(self, self.button.text())
if path:
self.media.setCurrentSource(phonon.MediaSource(path))
self.media.play()
def handleStateChanged(self, newstate, oldstate):
if newstate == phonon.PlayingState:
self.button.setText('Stop')
elif (newstate != phonon.LoadingState and
newstate != phonon.BufferingState):
self.button.setText('Choose File')
if newstate == phonon.ErrorState:
source = self.media.currentSource().fileName()
print ('ERROR: could not play:', source.toLocal8Bit().data())
print (' %s' % self.media.errorString().toLocal8Bit().data())
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
app.setApplicationName('phonon Player')
window = Window()
window.show()
sys.exit(app.exec_())
작동하는 swf 파일이 있습니까? plz 첨부하십시오. 왜냐하면 나는이 예제를 시도하고 그것을 실행하지만 빈 검은 화면이 표시됩니다. 그래서 내 swf 파일에 문제가 있는지 확인하고 싶습니다. 또는이 스크립트가 실행 중일 때 문제가 발생했습니다. –