计算机发声原理:
响度,这个非常好理解。就是我们感觉到的声音的大小。具体点说就是由“振幅”决定,振幅越大响度越大。一般计量响度的单位是分贝,dB。
音调,这个就是声音的高低,由“频率”决定,频率越高音调越高。频率单位是赫兹,符号Hz。
音色,在生活当中,我们会发现各种物品发出的声音的特点是不一样的,如二胡和笛子。声音的特性就是音色庆谨纤。而决定声音的音色是由于物体本身的材料、结构。
对于我们的计算机而言。发声的设置都是固定了的。要么要计算机上的那个喇叭,那么是外接的音响等。
现在这里对计算机上的那个喇叭用Turbo C 2.0进行编程,使之发出动听的音乐《梁祝》。
第一步:定义《梁祝》的每一个音符的频率和时间,将定义好的频率和时间写入文件或者保存在数组里面。如果仅仅是写一两个程序自己玩玩的话,那直接保存在数组里面就可以了。如果你想自己写个播放器的话,那你先自己定义一种音乐格式文件(类似.mp3、.wav这种文件,这里暂时把这个文件定为.mymusic),将《梁祝》每个音符的频率、时间写入这个自定义的音乐格式文件liangzhu.mymusic。
第二步:完成了liangzhu.mymusic文件的定义后,我们要做的事情就是读文件,控制喇叭发声。这个具体可以参照现有的资料。这里需要事先写几个函数,读文件的函数,暂停函数,频率对照函数等等。
第三步,将上面的程序链接起来,就OK了。
将上面的步骤优化下,一个DIY的音乐播放器就成功了。
我上面说的只是控制了声音的频率和时间,誉仿其实还可以控制响度。对于一些特殊的设备,控制音色也不是不可能。
这种程序我在大一的时候写过。现在晌陆想起来不难的。
主要是对C语言是否熟练,当然,你想要实现一个播放器,那你途中会遇到很多困难的。
祝你好运!
mciSendString(TEXT("closeMySong"),NULL,0,NULL)/*停止播放,拍卜可以解决一些不必要的麻烦*/wsprintf(play_lujing2,"open\"%s\"aliasmysong",“d:/爱你一万年.mp3”)//将字符串准备好袭搭穗mciSendString(TEXT(play_lujing2),NULL,0,NULL)//将歌曲打开mciSendString(TEXT("playMySong"),NULL,0,NULL)//播放歌曲这样就可以实现播枝芦放了,更多的功能请下载这个:(可以看MV、下载歌曲的c语言播放器)
C基本竖游库函数不支持可以使用Win32函数来实现该 *** 作
可以看些win32编程方面的书籍,调用windows API
如上面所说的PlaySound()API,注意调用模式应世毕置为异步,否则整个程序的执行流程将等待音乐结束才可以继续。
建搜纤芹议看下经典书籍《windows程序设计》第5版
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)