Попытка добавить звуковое событие, используя QMediaPlayer
Я сделал небольшое приложение, используя pyqt5, и я хочу проигрывать 5 секунд mp3. Я прочитал, что мне не нужно использовать отдельный поток, если я использую инструменты Qt, вот и я.
Почему это не работает, это больше к нему?
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()
Я неправильно прочитал документацию?
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();
1 ответ
Решение
Вы должны добавить QGuiApplication
:
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_())