Попытка добавить звуковое событие с помощью 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();

person Jack    schedule 16.03.2017    source источник
comment
Вероятно, у вас не установлены необходимые аудиокодеки. Попробуйте это с файлом .wma.   -  person ekhumoro    schedule 17.03.2017
comment
Я пробовал с .wma и все еще отмечаю. У меня Windows 10, он должен воспроизводить файлы .wav. Я попробую с другой IDE, на Pycharm он работает без ошибок, без обратной связи. Процесс завершен с кодом выхода 0 и все.   -  person Jack    schedule 17.03.2017


Ответы (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_())
person eyllanesc    schedule 17.03.2017