如何让游戏背景音乐循环播放

时间一粒 2011-10-22 09:34:09
已经用信号和槽实现了游戏的背景音乐的开和关,但是音乐在开的情况下不会循环播放,而是播放一次就没了。

请问怎样让它一直播放背景音乐呢?


void MainWindow::MusicOn()//音乐开
{
mediaObject=Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(音乐文件));
mediaObject->play();
}

void MainWindow::MusicOff()//音乐关
{
mediaObject->stop();
}
...全文
840 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vincent_Song 2011-10-23
  • 打赏
  • 举报
回复
用定时器会更好实现一些,当音乐的总时间播放完是触发一个事件,这个事件用来处理重新播放!
刀刀亮 2011-10-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hhbgk 的回复:]

引用 1 楼 xiaoliang_1 的回复:

音乐播放完了会有一个Finish信号发送,这时候再接收到这个信号时在调用播放的槽函数,就可以了。希望可以帮到你

请问如何捕获这个信号呢?能不能具体点啊?Qt我是一知半解 - -||
[/Quote]
建立信号槽的链接,connect(mediaObject,SIGNAL(finish()),this,SLOT(MusicOn()));
你先把MusicOn()改成是槽函数,这样你既可以正常调用,也可以作为槽函数使用,上面那句在确保mediaObject对象被创建后调用,这样就可以实现一曲无限循环。
时间一粒 2011-10-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiaoliang_1 的回复:]

音乐播放完了会有一个Finish信号发送,这时候再接收到这个信号时在调用播放的槽函数,就可以了。希望可以帮到你
[/Quote]
请问如何捕获这个信号呢?能不能具体点啊?Qt我是一知半解 - -||
刀刀亮 2011-10-22
  • 打赏
  • 举报
回复
音乐播放完了会有一个Finish信号发送,这时候再接收到这个信号时在调用播放的槽函数,就可以了。希望可以帮到你

16,203

社区成员

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

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