Buryool 发表于 2021-12-27 17:24:19

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

我目前使用的播放背景音乐的方法是用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;//注意这儿要把时间变量设置成静态的

        if (clock() - t > ms) {
                //t1 = t2;//让t1追上t2
                t = 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);
                }


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

xiaoshuai666 发表于 2021-12-29 15:28:11

定时器外面加个while(1) 循环

2736946915 发表于 2021-12-30 02:07:41

T初始化了吗?试试VLC开源库(百度)应该会比这个简单,我最近也在学习做音视频服务器,客户端倒是简单
页: [1]
查看完整版本: C++如何实现背景音乐的循环播放