Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件<windows.h>

Similar presentations


Presentation on theme: "C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件<windows.h>"— Presentation transcript:

1 C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件<windows.h>

2 声音实例1 #include <windows.h> void main() {   Beep(1000, 1000);  }

3 音乐中1,2,3,4,5,6,7,i的发音 原理参见网络课程《数学大观》第3讲
1,2,3,4,5,6,7,i的发音由振动频率决定,它们成等比数列,音阶间比值k=2(1/12) 假定1的频率是277,那么他们的频率分布如下: 1的频率=277*K0, 2的频率=277*K2, 3的频率=277*k4, 4的频率=277*k5, 5的频率=277*k7, 6的频率=277*k9, 7的频率=277*k11, i的频率=277*k12,

4 声音实例2,求音乐中1,2,3,4,5,6,7,i的频率。
#include <windows.h> #include <math.h> #include <iostream.h> void main() { double k=pow(2,1.0/12.0); int F[8]; int a=277; F[0]=a; F[1]=a*pow(k,2); F[2]=a*pow(k,4); F[3]=a*pow(k,5); F[4]=a*pow(k,7); F[5]=a*pow(k,9); F[6]=a*pow(k,11); F[7]=a*pow(k,12); for(int i=0;i<8;i++) cout<<i+1<<“的频率是”<<F[i]<<endl; }

5 声音实例3,因此输出音乐中1,2,3,4,5,6,7,i的发音。
#include <windows.h> #include <math.h> #include <iostream.h> void main() { int F[8]={277,310,348,369,415,465,522,554}; for(int i=0;i<8;i++) Beep(F[i],1000); Sleep(100); }

6 练习 依据这8个音的频率,自行创作一首音乐,然后通过程序定义一个二维数组,分别存储每个音调和它的发声持续时间,用程序播放。

7 字符串数组练习 1: 编写一个程序,从键盘输入两个字符串s1和s2,然后从s1中删除所有与s2串中重复的字符,然后输出s1。
2: 编写一个程序,从键盘输入两个字符串s1和s2,其中s1的长度是30,s2的长度是2,统计串s2在s1中出现的次数。


Download ppt "C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件<windows.h>"

Similar presentations


Ads by Google