我在没有 QMediaPlaylist 的情况下尝试过它,它工作......
QMediaContent content(QUrl::fromLocalFile("ABSOLUTE_PATH_TO_FILE"));
QMediaPlayer* player = new QMediaPlayer();
player->setMedia(content);
player->play();
我测试了你的代码,但它没有工作......即使使用绝对路径。
可能是可选的!!!==>
我收到了一条 gstreamer 错误消息,我检查并最终学习了 gstreamer... 0.10 和 1.0 的错误消息更多。因此,我根据 gstreamer(两个版本)安装了所有内容,并且在最后一次更新中,我终于能够在两个版本中播放声音
sudo apt-get install gstreamer1.0-plugins-* gstreamer0.10-plugins-*
<== 可能是可选的结束
您的代码仍然无法正常工作。所以我比较...
我用指针!
QMediaPlaylist* plst = new QMediaPlaylist();
plst->addMedia(QUrl::fromLocalFile("ABSOLUTE_PATH_TO_FILE"));
QMediaPlayer *pl = new QMediaPlayer();
pl->setPlaylist(plst);
pl->play();
现在它起作用了!(不要问我为什么……)。
总结一下:指针和绝对路径 [也许是 gstreamer-plugins ...]
这只是Debian的解决方案......
你能告诉我它是否适用于Windows吗?
你是怎么解决的?
如果您在玩游戏时关闭应用程序,您会得到 SegFault。