2017-03-16 3 views
0

hinzufügen Ich habe eine kleine App mit pyqt5 und ich möchte ein 5 Sekunden mp3 spielen. Ich habe gelesen, dass ich keinen separaten Thread verwenden muss, wenn ich Qt-Tools verwende, also bin ich hier.Versuchen, ein Sound-Event mit QMediaPlayer

Warum funktioniert das nicht, ist es mehr daran?

from PyQt5 import QtCore, QtWidgets, QtMultimedia 

player = QtMultimedia.QMediaPlayer() 
sound = QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile("c:/alarm.mp3")) 
player.setMedia(sound) 
player.setVolume(100) 
player.play() 

Habe ich die Dokumentation falsch gelesen?

http://doc.qt.io/qt-5/qmediaplayer.html

player = new QMediaPlayer; 
connect(player, SIGNAL(positionChanged(qint64)), this, 
     SLOT(positionChanged(qint64))); 
player->setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3")); 
player->setVolume(50); 
player->play(); 
+0

Sie wahrscheinlich nicht installiert ist, die notwendigen Audio-Codecs haben. Versuchen Sie es mit einer '.wma' Datei. – ekhumoro

+0

Ich versuchte mit .wma und immer noch noting. Ich bin auf Windows 10, es sollte .wav Dateien abspielen. Ich werde mit einer anderen IDE versuchen, auf Pycharm läuft es ohne Fehler, keine Rückmeldung. Prozess beendet mit Exit-Code 0 und das war's. – Jack

Antwort

1

Sie müssen QGuiApplication hinzufügen:

from PyQt5 import QtCore, QtWidgets, QtMultimedia, QtGui 
import sys 

app = QtGui.QGuiApplication(sys.argv) 
player = QtMultimedia.QMediaPlayer() 
sound = QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile({your filename}) 
player.setMedia(sound) 
player.setVolume(100) 
player.play() 
sys.exit(app.exec_()) 
+0

Ja, das hat funktioniert. Danke !! – Jack

+0

Wenn meine Antwort hilft, markieren Sie sie bitte als korrekt – eyllanesc

Verwandte Themen