⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sound.c

📁 C大程序 需要解压
💻 C
字号:
#define SOUND_CLEANDELAY 20
#define SOUND_CLEANTIME 100
#define SOUND_DELAYTIMES 100L
#define SOUND_GDUP 0

#define S1 600
#define S2 S1 / 2
#define S4 S1 / 4
#define S8 S1 / 8
#define S16 S1 / 16
#define SFN S1 * 4

enum FREQDEF{
	L1 = 131, L2 = 147, L3 = 165, L4 = 175, L5 = 196, L6 = 220, L7 = 247,
	N1 = 262, N2 = 296, N3 = 330, N4 = 349, N5 = 392, N6 = 440, N7 = 494,
	H1 = 523, H2 = 587, H3 = 659, H4 = 698, H5 = 784, H6 = 880, H7 = 988,
	I1 = 1047, I2 = 1175 ,I3 = 1319, I4 = 1397, I5 = 1568, I6 = 1760, I7 = 1976,
	ZO = 0, FN = 32767
} song[]=
{
	N2, S1, N2, S2, N3, S2, N1, S1, L5, S2, L5, S2, N2, S2, N1, S2, N2, S2,
	N3, S2, N1, S1, N1, S2, N3, S2, N4, S2, N3, S2, N1, S2, N2, S2, N2, S1,
	N2, S2, N3, S2, N4, S2, N3, S2, N1, S2, N1, S2, L7, S2, N1, S2, L7, S1,
	N2, S2, N2, S2, N2, S2, N3, S2, N1, S1, L5, S2, L5, S2, N2, S2, N1, S2,
	N2, S2, N3, S2, N1, S1, N1, S2, N3, S2, N4, S2, N3, S2, N1, S2, N2, S2,
	N2, S1, N2, S2, N3, S2, N4, S2, N3, S2, N4, S2, N4, S4, N5, S4, N5, S1,
	L5, S2, L6, S2, N1, S1, N2, S2, N3, S2, N5, S1, N3, S2, N5, S2, N6, S2,
	N6, S4, N7, S4, N6, S2, N5, S2, N3, S1, N2, S2, N3, S2, N5, S4, N2, S4,
	N3, S2, N3, S2, N3, S2, N2, S2, N3, S2, N2, S2, N1, S2, L5, S1, L5, S1,
	L5, S1, L5, S2, L6, S2, N2, S1, N2, S2, N3, S2, N1, S1, L5, S2, L5, S2,
	N2, S2, N1, S2, N2, S2,	N3, S2, N1, S1, N1, S2, N3, S2, N4, S2, N3, S2,
	N1, S2, N2, S2, N2, S1,	N2, S2, N3, S2, N4, S2, N3, S2, N1, S2, N1, S2,
	L7, S2, N1, S2, L7, S1,	N2, S2, N2, S2, N2, S2, N3, S2, N1, S1, L5, S2,
	L5, S2, N2, S2, N1, S2,	N2, S2, N3, S2, N1, S1, N1, S2, N3, S2, N4, S2,
	N3, S2, N1, S2, N2, S2,	N2, S1, N2, S2, N3, S2, N4, S2, N3, S2, N4, S2,
	N4, S4, N5, S4, N5, S1,	L5, S2, L6, S2, N1, S1, N2, S2, N3, S2, N5, S1,
	N3, S2, N5, S2, N6, S2,	N6, S4, N7, S4, N6, S2, N5, S2, N3, S1, N2, S2,
	N3, S2, N5, S4, N2, S4,	N3, S2, N3, S2, N3, S2, N2, S2, N3, S2, N2, S2,
	N1, S2, L5, S1, L5, S1, L5, S1, L5, S1, ZO, S1, ZO, S1, ZO, S1, ZO, S1,
	ZO, S1, ZO, S1, ZO, S1, ZO, S1, ZO, S1, N6, S2, N5, S2, N5 ,S1, N2, S2,
	N3, S2, N3, S1, N3, S1, ZO, S1, ZO, S1, ZO, S1, N6, S2, N5, S2, N5, S1,
	N2, S2, N3, S2, N3, S2, N3, S2, N3, S4, N2, S4, N1, S4, N1, S4, N1, S1,
	N1, S1, ZO, S1, N6, S2, N5, S2, N5, S1, N7, S2, N7, S2, N7, S1, N7, S2,
	N7, S2, H1, S1, N7, S1, N7, S4, N6, S2, N6, S4, N2, S2, N3, S2, N1, S1,
	L5, S2, L5, S2, N2, S2, N1, S2, N2, S2, N3, S2, N1, S1, N1, S2, N3, S2,
	N4, S2, N3, S2, N1, S2, N2, S2, N2, S1, N2, S2, N3, S2, N4, S2, N3, S2,
	N1, S2, N1, S2, L7, S2, N1, S2, L7, S1, N2, S2, N2, S2, N2, S2, N3, S2,
	N1, S1, L5, S2, L5, S2, N2, S2, N1, S2, N2, S2, N3, S2, N1, S1, N1, S2,
	N3, S2, N4, S2, N1, S2, N2, S2, N2, S1, N2, S2, N3, S2, N4, S2, N3, S2,
	N4, S2, N4, S4, N5, S4, N5, S1, N5, S1,
	FN, SFN
};

long soundgd_delay, soundgd_cur;
int flag_sound_clean, flag_gdon;

void sound_clean(){
	int freq;

	for (freq = 500; freq < 5000; freq += 500){
		sound(freq);
		delay(SOUND_CLEANDELAY);
	}
	nosound();
	soundgd_delay += SOUND_CLEANTIME;
	flag_sound_clean = 1;
}

void sound_gdserver(){
	if (flag_sound_clean){
		if (song[soundgd_cur] != FN) sound((song[soundgd_cur] + SOUND_GDUP) * flag_gdon);
		flag_sound_clean = 0;
	}
	if (soundgd_delay >= (long)song[soundgd_cur + 1] * SOUND_DELAYTIMES){
		nosound();
		if (song[soundgd_cur] == FN) soundgd_cur = 0;
			else soundgd_cur += 2;
		soundgd_delay = 0;
		sound((song[soundgd_cur] + SOUND_GDUP) * flag_gdon);
	} else soundgd_delay++;
}

void sound_init(){
	soundgd_cur = 0;
	soundgd_delay = 0;
	flag_sound_clean = 0;
	flag_gdon = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -