背景音乐详细教程,QSoundEffect没有声音解决方案"/>
QT中添加背景音乐详细教程,QSoundEffect没有声音解决方案
本来以为很简单的事,一晚上踩了好多坑才终于搞出来,包括但不限于QSoundEffect(qaudio): Error decoding source,一切正常就是听不到声音,资源文件添加不进去等等问题,现在终于搞定了,于是记录一下(本人QT版本为5.11.3)
我是在网易云下载的音乐,显示是ncm格式,先在这个网址转成mp3格式:QMC0转MP3 QMC0格式批量在线转换为MP3格式
但是后来mp3格式怎么都放不出声音,建议不用试了,直接用格式工厂转成wav格式
格式工厂下载地址:格式工厂 官方主页 - 免费多功能的多媒体文件转换工具
下面这个界面要记得点开始!!!不要像我傻傻等半天
转好之后,添加到qt的资源文件里,具体操作见QT之资源文件添加_qt添加资源文件_强~~~的博客-CSDN博客
添加好之后,不要急着写代码,先点qt左下角的锤子编译一下,如果你的文件太大,这里会编译不通过,显示cc1plus.exe: out of memory allocating 65536 bytes
这时我们不要着急,点开项目的工程文件(.pro),添加两句话:
QT += multimedia
CONFIG += resources_big
其中第1句话是一定要加的!!!!!!否则没有QSoundEffect这个头文件,第2句话在你资源文件过大的情况下才用添加
接下来终于可以写代码了,不要忘记包含头文件:
#include <QSoundEffect>
代码如下图所示:
//播放音频QSoundEffect *music = new QSoundEffect();music->setSource(QUrl::fromLocalFile(":/music/Feliz Navidad.wav"));music->setLoopCount(QSoundEffect::Infinite); //设置无限循环music->setVolume(0.5f); //设置音量,在0到1之间music->play();
其中文件路径复制的时候,选path不要选url !!!!!
没有其他bug的话,运行程序就可以听到音乐了~
最最最后再附上斗地主音乐的wav下载地址,可以先试这个保证程序的正确性
链接: =fxc1 提取码: fxc1
更多推荐
QT中添加背景音乐详细教程,QSoundEffect没有声音解决方案
发布评论