QSound怎么播放音乐啊

qq11111qqwowo 2014-05-27 11:43:17
QSoundEffect(qaudio): Error decoding source这怎么错了
用的是这个QSound ::play("bkMusic.wav");
如果是用QSound sound("bkMusic.wav");
sound.play();这个的话不出现上面的错误
但是还是没有声音
...全文
2810 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruiandcheng 2016-07-06
  • 打赏
  • 举报
回复
补充一下,如果路径写的有问题Qsound找不到文件那么也是会包这个错误。 https://forum.qt.io/topic/53055/qsoundeffect-qaudio-error-decoding-source/2
ruiandcheng 2016-07-06
  • 打赏
  • 举报
回复
我也遇到了同样的问题,使用绝对路径和添加到资源文件都试过且都不行,直接用系统播放器是可以播放的。我还是怀疑是音频文件本身的问题,所以在操作系统中到了其他的wav格式文件,尝试了一下是可以的。所以我下载了一个音频格式转换工具(全能音频转换器)把我自己的音频转换了一下,直接选择输出格式为wav,当然文件本身也是wav。然后用转换后的文件试了一下是可以的。 QSound本身好像就只支持wav。。。
wastedsoul 2016-02-18
  • 打赏
  • 举报
回复
路径不对,QSound::play("XXXX");所查找的路径不是res路径,而是debug路径,把音频文件放到debug路径下,楼主就可以正常播放声音了。
qq_22267723 2015-08-18
  • 打赏
  • 举报
回复
绝对路径的写法是D:\\bkMusic.wav
z55716368 2015-07-28
  • 打赏
  • 举报
回复
绝对路径的写法就是D:/bkMusic.wav这种吗
afa14 2015-02-06
  • 打赏
  • 举报
回复
实验证明,是路径问题,只有绝对路径才能播放,不知为什么
z253642075 2015-02-04
  • 打赏
  • 举报
回复
引用 3 楼 li235456789 的回复:
QSound ::play("bkMusic.wav"); 这样用是对的。 如果是用对象的话,需要对象名->play(); 所以,可以直接QSound ::play("bkMusic.wav"); 方便点,没声音大概有三个原因; 1.音频有问题,你可以,直接双击该音频文件听一下,是否有声音。 2.如果音频文件没问题,则是路径放错了,你可以,放在D盘或其它盘测一下。比如把音频文件放D盘。 QSound ::play("D:/bkMusic.wav"); 3.你的音频文件后缀不为.wav,如果是其它格式,会不支持的,需要转格式,比如.pcm格式的就不支持,需要加音频头变为wav格式再播放。
z253642075 2015-02-04
  • 打赏
  • 举报
回复
引用 3 楼 li235456789 的回复:
QSound ::play("bkMusic.wav"); 这样用是对的。 如果是用对象的话,需要对象名->play(); 所以,可以直接QSound ::play("bkMusic.wav"); 方便点,没声音大概有三个原因; 1.音频有问题,你可以,直接双击该音频文件听一下,是否有声音。 2.如果音频文件没问题,则是路径放错了,你可以,放在D盘或其它盘测一下。比如把音频文件放D盘。 QSound ::play("D:/bkMusic.wav"); 3.你的音频文件后缀不为.wav,如果是其它格式,会不支持的,需要转格式,比如.pcm格式的就不支持,需要加音频头变为wav格式再播放。
eynixtiyin 2015-02-03
  • 打赏
  • 举报
回复
引用 2 楼 yaozhiyong110 的回复:
使用方式应该没错 你用据对路径试试...
我也试了

#include <QApplication>
#include<QSound>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSound::play("D:/jan.wav");
    return a.exec();
}
你说的都没问题,但就是不能播放
小K小Q 2014-06-03
  • 打赏
  • 举报
回复
QSound ::play("bkMusic.wav"); 这样用是对的。 如果是用对象的话,需要对象名->play(); 所以,可以直接QSound ::play("bkMusic.wav"); 方便点,没声音大概有三个原因; 1.音频有问题,你可以,直接双击该音频文件听一下,是否有声音。 2.如果音频文件没问题,则是路径放错了,你可以,放在D盘或其它盘测一下。比如把音频文件放D盘。 QSound ::play("D:/bkMusic.wav"); 3.你的音频文件后缀不为.wav,如果是其它格式,会不支持的,需要转格式,比如.pcm格式的就不支持,需要加音频头变为wav格式再播放。
yaozhiyong110 2014-06-03
  • 打赏
  • 举报
回复
使用方式应该没错 你用据对路径试试...
KeequenLiu 2014-05-28
  • 打赏
  • 举报
回复
你的wav文件有问题吧 用其它播放器试试能不能放出声音 还有就是你的wav文件是否与应用程序在同一目录下?

21,466

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧