鱼C论坛

 找回密码
 立即注册
查看: 1923|回复: 2

C++如何实现背景音乐的循环播放

[复制链接]
发表于 2021-12-27 17:24:19 | 显示全部楼层 |阅读模式
20鱼币
我目前使用的播放背景音乐的方法是用mciSendString()函数代码如下:
mciSendString("open ./素材/images/game_music.mp3 alias BGM", 0, 0, 0);
mciSendString("play BGM",0,0,0);

但是这种方式只能播放一次音乐,我想到的方法是用计时器每固定一段时间就重新播放一次,但是测试时音乐播放一下瞬间停止。

代码如下:
//计时器
bool timer(int ms, int id) {
        static DWORD t[10];//注意这儿要把时间变量设置成静态的

        if (clock() - t[id] > ms) {
                //t1 = t2;//让t1追上t2
                t[id] = clock();

                return true;
        }

        return false;
}

if (timer(5000, 3)) {


                        //加载背景音乐
                        mciSendString("open ./素材/images/game_music.mp3 alias BGM", 0, 0, 0);
                        mciSendString("close BGM", 0, 0, 0);
                        mciSendString("play BGM",0,0,0);
                }


求教我的问题出在哪里,或者有什么方法可以循环播放音乐?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-29 15:28:11 | 显示全部楼层
定时器外面加个while(1) 循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-30 02:07:41 | 显示全部楼层
T初始化了吗?试试VLC开源库(百度)应该会比这个简单,我最近也在学习做音视频服务器,客户端倒是简单
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-9 01:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表