問題: 以下調用不會使QMediaPlayer播放任何聲音。QMediaplayer:沒有聲音
player->setMedia(QUrl("qrc:/snd/coin-refund.mp3"));
player->play();
哪裏player
是QMediaPlayer*
類型。 URL使用QtCreator複製URL選項生成。所以文件肯定在.qrc文件中。
詳情:
我從QObject
得出這樣一個類:
class MyClass : public QObject
{
Q_OBJECT
// some stuff
private:
QMediaPlayer* player;
}
調用在MyClass的構造這樣的QMediaPlayer標準構造...
MyClass::MyClass() :
player(new QMediaPlayer)
{
}
...在運行時導致以下錯誤消息(應用程序編譯時沒有任何警告)
的QObject :: startTimer所:定時器只能與線程使用開始 的QThread
刪除玩家刪除該郵件(我還沒有明確創建任何QThreads或QTimers)。
在我的.pro文件,我有:
QT += core gui webkitwidgets multimedia multimediawidgets widgets
附加信息: 我在Arch Linux的使用QtCreator 4.2.2和Qt 5.8.0
編輯:
你是否安裝了mp3的編解碼器?我正在使用Archlinux,Qt 5.8,並且我沒有任何問題...如果您可以通過github,dropbox或類似工具共享您的項目,您可以提供更好的幫助。 – eyllanesc
你可以運行:'ldd your_executable'並顯示你得到的。 – eyllanesc
@eyllanesc根據要求添加了github鏈接。 – Alex