2

我正在尝试使用 Qt 库 QtMultiMedia 播放音乐。我希望它也支持 .flac 格式。我正在运行 Windows 8.1,我从http://xiph.org/dshow/安装了 flac 编解码器。顺便说一句,它与 mp3 完美配合。

示例代码:

QMediaPlaylist plst;
plst.addMedia(QUrl::fromLocalFile("path/file.flac"));
QMediaPlayer pl;
pl.setPlaylist(plst);
pl.play();

它不播放任何东西。

4

1 回答 1

0

我在没有 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。

于 2015-05-05T20:46:37.370 回答