我叫MD 发表于 2019-3-19 15:50:24

C语言中如何循环播放一首音乐

请问各位大神,在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;
}

如果我把音乐放在循环外面,指播放一遍就完事了,如果放到循环里面,一直循环播放第一秒的音乐。请问如何写代码,才能让音乐在播放完毕之后,进行第二遍播放呢?

ba21 发表于 2019-3-19 15:50:25

我叫MD 发表于 2019-3-19 15:59
可以帮忙改一下吗?不是很懂哎

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

ba21 发表于 2019-3-19 15:54:59

PlaySoundA 不是有个参数可以循环播放?

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

SND_LOOP
重复播放声音,必须与SND_ASYNC标志一块使用。

我叫MD 发表于 2019-3-19 15:59:47

ba21 发表于 2019-3-19 15:54
PlaySoundA 不是有个参数可以循环播放?

SND_ASYNC


可以帮忙改一下吗?不是很懂哎
页: [1]
查看完整版本: C语言中如何循环播放一首音乐