使用Qsound播放音频release版本发布后无法播放,求助!!!

rurutianoirlilia 2013-03-21 05:39:26
sound=new QSound("D:/mysound/music.wav",this);源代码使用绝对路径在本机上课正常运行,但release后移植到其他电脑无法播放,怎么解决啊,求指教。wav文件不知道怎么打包发布啊
...全文
596 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小K小Q 2015-06-22
  • 打赏
  • 举报
回复
做成资源文件.再通过资源文件找路径就行了.
彩阳 2015-05-19
  • 打赏
  • 举报
回复
QT += multimedia。你这么做了吗?
Z_墨脱 2015-02-09
  • 打赏
  • 举报
回复
楼主在吗???想问一下我用的是vs2010 + qt4.8.5 请问一下QSound 怎么静态编译,QSound我静态编译不通过
xiebin133 2013-03-22
  • 打赏
  • 举报
回复
引用 2 楼 rurutianoirlilia 的回复:
引用 1 楼 xiebin133 的回复:别写成绝对路径,写成相对路径,比如你在运行目录下面创建一个 music的目录,然后将music.wav放到该目录,你用sound=new QSound("./music/music.wav",this); 不行呀,用你这种相对路径本机编译运行都没法播放声音。我的工程目录放在D:/demo下,构建目录在D:/demodemo-de……
你这个肯定是你的运行目录设置错了,你看看你QtCreator左边一列的项目里面运行设置中的 工作目录设置,这个 目录就是你程序的运行目录,你要在这个目录下创建一个music目录,然后将文件放到该目录下,发行版基本上不可能用绝对路径的。你不可能要求用户将你的程序安装到你指定的路径下。
haltwang 2013-03-21
  • 打赏
  • 举报
回复
引用 3 楼 dxhua863plan 的回复:
我也发布过,当时一直不行,后面可以了。 你直接把它做成资源文件,就可以了,就好比资源文件里面的图片加载一样的 比如说: Phonon::MediaObject *backgroundMusic; backgroundMusic->setCurrentSource(Phonon::MediaSource(":/sounds/background.mp3")); ……
+1 使用相对路径肯定也是可以的可能是你的路径没有写好吧。 你吧sound.wav复制到工程目录下(有很多文件夹你不能确定的话建议都复制一个进去)。 然后使用路径的时候用:"sound.wav"就可以了 不过还是建议使用qrc对资源文件进行管理,很方便也不复杂,同时资源直接嵌入exe中不会丢失
dxhua863plan 2013-03-21
  • 打赏
  • 举报
回复
我也发布过,当时一直不行,后面可以了。
你直接把它做成资源文件,就可以了,就好比资源文件里面的图片加载一样的
比如说:
Phonon::MediaObject *backgroundMusic;
backgroundMusic->setCurrentSource(Phonon::MediaSource(":/sounds/background.mp3"));
当然这只是我的当时的方法
其实主要就是需要打包哪些文件,我一一列出吧(release版本下的应用程序、文件夹4.7.2下的plugins下的imageformats文件夹与phonon_backend文件夹、bin目录下的libgcc_s_dw2-1.dll、mingwm10.dll、phonon4.dll、QtCore4.dll、QtGui4.dll)
rurutianoirlilia 2013-03-21
  • 打赏
  • 举报
回复
引用 1 楼 xiebin133 的回复:
别写成绝对路径,写成相对路径,比如你在运行目录下面创建一个 music的目录,然后将music.wav放到该目录,你用sound=new QSound("./music/music.wav",this);
不行呀,用你这种相对路径本机编译运行都没法播放声音。我的工程目录放在D:/demo下,构建目录在D:/demodemo-desktop下,这个路径到底该怎么写呀
xiebin133 2013-03-21
  • 打赏
  • 举报
回复
别写成绝对路径,写成相对路径,比如你在运行目录下面创建一个 music的目录,然后将music.wav放到该目录,你用sound=new QSound("./music/music.wav",this);

16,215

社区成员

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

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