QMediaplayer:没有声音

QMediaplayer: No sound

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

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

其中 player 的类型为 QMediaPlayer*。 其中 URL 是使用 QtCreator Copy URL 选项生成的。所以文件肯定在 .qrc 文件中。

详情:

我有一个从 QObject 派生的 class 像这样:

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

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

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

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

QObject::startTimer: Timers can only be used with threads started with QThread

删除播放器会删除此消息(我没有明确创建任何 QThreads 或 QTimers)。

在我的 .pro 文件中有:

QT += core gui webkitwidgets multimedia multimediawidgets widgets

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

编辑:

github link

ldd output (pastebin)

问题好像是对象在构造函数中没有正常启动,我目前找到的解决方法每次都想创建对象就可以了play().

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