qt中关于调用qsound库中的play函数

sprnado 2013-12-29 11:01:22
在qt中想插入背景音乐
调用了Qsound库后使用了
Qsound::play()函数
我建了一个QT GUI工程,用QWidget做子类.
然后写在了main.cpp里

我这个qt是在linux(Ubuntu12.04)系统下的
然后代码文件夹在 主文件夹 下的 music0 文件夹里

现在的代码就是
#include<QtGui/QApplication>
#include"widget.h"
#include<QSound>
int main(int argc, char *argv[])
{
QApplication a(argc,argv);
Widget w;
QSound::play("./music0/Untitled1.wav");
w.show();
return a.exe();
}

可是声音放不出来。。
那个文件夹下是有音频的
所以……那个路径该怎么写?
...全文
1471 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
小K小Q 2015-09-24
  • 打赏
  • 举报
回复
可以直接把音频放进qrc资源文件里面,再调相对路径。
彩阳 2015-09-06
  • 打赏
  • 举报
回复
不要太担心,直接写一个配置文件,配置文件里面标明了绝对路径,程序读取配置文件信息的时候,使用绝对路径载入的话那样就好了。 这样的程序灵活性大大增强。
Renaissancer 2015-09-02
  • 打赏
  • 举报
回复
楼主你好,我在Windows下Qt5可以直接用QSound::play("C:/mysound/C.wav");播放,不过开始加载资源有点慢,而且路径必须是绝对路径,这个比较头疼
Renaissancer 2015-09-02
  • 打赏
  • 举报
回复
引用 6 楼 Tramp_1 的回复:
可以使用相对路径了,原来要把mysound文件夹放到你编译的debug文件夹同目录下就可以了,然后使用QSound::play("mysound/C.wav");这只是暂时的办法,最好还是将声音文件加入到项目资源,在使用静态编译,直接输出一个exe文件
引用
好奇怪啊,在静态编译情况下,选择debug模式,编译不通过,报错说缺少libQt5Multimediad.a文件;选择release模式,则可以正常运行,但是此时mysound文件夹如果和release文件夹同目录则没有声音,但是如果和exe文件在同目录下就正常了
Renaissancer 2015-09-02
  • 打赏
  • 举报
回复
可以使用相对路径了,原来要把mysound文件夹放到你编译的debug文件夹同目录下就可以了,然后使用QSound::play("mysound/C.wav");这只是暂时的办法,最好还是将声音文件加入到项目资源,在使用静态编译,直接输出一个exe文件
引用
wsxm_wps 2015-07-15
  • 打赏
  • 举报
回复
楼主你好,你的问题解决了么?我现在也遇到相同的问题了,请问你是怎么解决的?求分享……
恒月美剑 2015-04-21
  • 打赏
  • 举报
回复
查看qsound的文档,里面提到在linux下使用qsound需要安装nas, sudo apt-get install nas nas-bin, 之后就能播放声音了,在使用QSound之前,最好先调用QSound::isAvailable ()
martenyong 2014-04-30
  • 打赏
  • 举报
回复
引用 1 楼 u011012932 的回复:
1、查看对应的路径下的文件对不对 2、查看是否需要对应的Qt依赖库支持,有可能需要音频库
我遇到了相同的问题,请问需要的音频库是哪些呢? 谢谢!
一去丶二三里 2014-01-23
  • 打赏
  • 举报
回复
1、查看对应的路径下的文件对不对 2、查看是否需要对应的Qt依赖库支持,有可能需要音频库

16,230

社区成员

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

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