鱼C论坛

 找回密码
 立即注册
查看: 3504|回复: 3

[已解决]C语言中如何循环播放一首音乐

[复制链接]
发表于 2019-3-19 15:50:24 | 显示全部楼层 |阅读模式
90鱼币
请问各位大神,在C语言中如何循环播放一首音乐呢?
int main()
{
        system("title 贪吃蛇");         //设置控制台标题
        system("mode con cols=100 lines=30 ");      //设置控制台宽高
        SnakeCoord();         //初始化蛇坐标
        DrawMap();            //绘制地图
        PlaySoundA("贪吃蛇.wav", NULL, SND_ASYNC | SND_NODEFAULT);  //播放音乐                                                              问题在这里
        bool live = true;
        while (live)
        {
               
                UserMove();      //接收用户操作
                ClearSnake();    //根据蛇坐标清除蛇
                live = MoveSnake();     //移动蛇
                OutSnake();      //打印蛇
                if (g_FoodExist == 0)        //判断是否出现了食物
                {
                        SnakeFood();
                }
                Sleep(400 - ((g_Snake_Long - 4)* 10));    //随着蛇身的增长,移动速度不断变快
        }
        return 0;
}

如果我把音乐放在循环外面,指播放一遍就完事了,如果放到循环里面,一直循环播放第一秒的音乐。请问如何写代码,才能让音乐在播放完毕之后,进行第二遍播放呢?
最佳答案
2019-3-19 15:50:25
我叫MD 发表于 2019-3-19 15:59
可以帮忙改一下吗?不是很懂哎

PlaySoundA("贪吃蛇.wav", NULL, SND_ASYNC | SND_LOOP | SND_NODEFAULT);  //播放音乐

最佳答案

查看完整内容

PlaySoundA("贪吃蛇.wav", NULL, SND_ASYNC | SND_LOOP | SND_NODEFAULT); //播放音乐
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-19 15:50:25 | 显示全部楼层    本楼为最佳答案   
我叫MD 发表于 2019-3-19 15:59
可以帮忙改一下吗?不是很懂哎

PlaySoundA("贪吃蛇.wav", NULL, SND_ASYNC | SND_LOOP | SND_NODEFAULT);  //播放音乐
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-19 15:54:59 | 显示全部楼层
PlaySoundA 不是有个参数可以循环播放?

SND_ASYNC
用异步方式播放声音,PlaySound函数在开始播放后立即返回。

SND_LOOP
重复播放声音,必须与SND_ASYNC标志一块使用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-3-19 15:59:47 | 显示全部楼层
ba21 发表于 2019-3-19 15:54
PlaySoundA 不是有个参数可以循环播放?

SND_ASYNC

可以帮忙改一下吗?不是很懂哎
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 09:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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