QMediaplayer:没有声音

QMediaplayer: No sound

本文关键字:声音 QMediaplayer      更新时间:2023-10-16

>问题:以下调用不会使QMediaPlayer播放任何声音。

player->setMedia(QUrl("qrc:/snd/coin-refund.mp3"));
player->play();

其中player属于QMediaPlayer*型。 使用 QtCreator 复制 URL 选项生成 URL 的位置。所以该文件肯定在 .qrc 文件中。

详:

我有一个从QObject派生的类,如下所示:

class MyClass : public QObject
{
Q_OBJECT
// some stuff
private:
QMediaPlayer* player;
}

像这样调用 MyClass 构造函数中的 QMediaPlayer 标准构造函数...

MyClass::MyClass() :
player(new QMediaPlayer)
{
}

。在运行时导致以下错误消息(应用程序编译时没有任何警告)

QObject::startTimer:计时器只能与以 Q读

删除播放器会删除此消息(我尚未显式创建任何 QThreads 或 QTimers)。

在我的 .pro 文件中,我有:

QT += core gui webkitwidgets multimedia multimediawidgets widgets

附加信息:我在 Arch Linux 上使用 QtCreator 4.2.2 和 Qt 5.8.0

编辑:

GitHub 链接

LDD 输出(粘贴)

问题似乎是对象在构造函数中没有正确启动,到目前为止,我找到的解决方案是每次要执行play()时创建对象。

void automaton::vendorSlot(const unsigned int buttonPressed)
{
player = new QMediaPlayer;
switch (buttonPressed)
[...]