C语言如何同时播放多个音乐,如何使用PlaySound函数不被打断

前言

前段时间为了写 贪吃蛇2.0版 程序需要用到背景音乐以及主音乐摸索了半天,在博客以及百度找了好几天,发现很少有人回答了这个答案,有的也只是用多管道多线程控制音乐,本人又不会使用多线程,使用多线程也不方便,所以反复在各大网站摸索之后终于找到了解决办法,该方法不需要建立多管道多进程,不需要C++,C语言就能搞定,并且自定义函数后多出可以随时调用,方便快捷,今天分享出来给大家。

查找这些资料以及写这篇文章都花费了我不少相思,希望您能留下您的点赞,你的点赞是我继续创作的最大动力!!

正言

PlaySound函数在播放音乐时,遇到下一个PlaySound函数时会被打断是不可避免的,所以我们可以同时引用另外一个函数:

BOOL mciSendString(“Command1 FILE Command2”,NULL,0,NULL);

先介绍:

PlaySound函数

PlaySound函数只能播放WAV格式的音频文件,无法播放MP3格式或者其它格式的音频文件,所以在使用的时候记得先行转码在使用

使用PlaySound函数时要包含以下头文件:

#include<windows.h>
#pragma comment(lib,"winmm.lib")

函数原型:

BOOL PlaySound( TEXT(“FILE”) , NULL , DWORD fdwSound );

FILE:

[路径+] 媒体文件名
如:

123.wav

D:\\Download\\123.wav

fdwSound:

用来指定播放模式,常用参数如下:

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

SND_FILENAME
pszSound参数指定了WAVE文件名。

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

代码实例:

//循环播放同目录下的123.wav音频文件
PlaySound(TEXT("123.wav"),NULL,SND_FILENAME | SND_ASYNC | SND_LOOP);

//播放一次绝对目录D:\Download\下的123.wav音频文件
PlaySound(TEXT(D:\\Download\\123.wav),NULL,SND_FILENAME | SND_ASYNC);

//结束播放音频
PlaySound(NULL,NULL,SND_FILENAME);

我们可以写一个控制播放音乐的自定义函数:

void Music(char c[],int n)
{
   
	switch(n)
	{
   
		case 2:
			//循环播放音乐,在遇到下一次播放音
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心一课

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值