当前位置: 代码迷 >> C语言 >> [求助]那位大哥自己编写了c中的声音函数
  详细解决方案

[求助]那位大哥自己编写了c中的声音函数

热度:209   发布时间:2005-12-14 13:53:00.0
[求助]那位大哥自己编写了c中的声音函数
   c中好象没得调用声音的函数,不知道哪为大哥自己编了没有,让小弟参考一写咯
搜索更多相关的解决方案: 函数  声音  编写  

----------------解决方案--------------------------------------------------------
只知道7是响一声.
----------------解决方案--------------------------------------------------------
sound函数发声
nosound停止

----------------解决方案--------------------------------------------------------
同意楼上的
----------------解决方案--------------------------------------------------------

[此贴子已经被作者于2006-4-11 18:57:59编辑过]


----------------解决方案--------------------------------------------------------
/*
网上搞了一个,不过只有机箱响,所以要细心听了
前台音乐设计
首先我们来看下面这个例子,演奏的是《好人一生平安》 */
#include<time.h>
#include<dos.h>
#define N1 64
#define N2 32
#define N4 16
#define N8 8
#define N16 4
#define END 0
enum NOTES
{
C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,
C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494,
C1=525,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988,
C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1796
}song[]={
D0,N4,E0,N8,D0,N8,C0,N4,A10,N4,G10,N8,E10,N8,G10,N8,A10,
N8,C0,N2,A10,N4,A10,N8,C0,N8,G10,N8,A0,N8,E0,N8,G0,N8,
D0,N2,E0,N4,D0,N8,E0,N8,G0,N4,E0,N4,G10,N8,E10,N8,G10,
N8,A10,N8,C0,N2,A10,N4,A10,N8,C0,N8,A10,N8,A10,N8,D10,
N8,E10,N8,G10,N2,D0,N4,D0,N4,G0,N4,A0,N8,G0,N8,F0,N2,G0,
N2,A0,N4,G0,N8,E0,N8,D0,N8,E0,N8,C0,N8,A10,N8,D0,N2,E0,
N4,G0,N8,E0,N8,G0,N4,E0,N4,G10,N8,E10,N8,G10,N8,A10,N8,
C0,N4,A10,N4,A10,N8,C0,N8,D0,N8,A10,N8,C0,N8,E0,N8,D0,
N1,END,END};
main()
{
int note=0,fre,dur,control;
clock_t goal;
while(song[note]!=0)
{
fre=song[note];
dur=song[note+1];
if(kbhit()) break;
if(fre)
{
outportb(0x43,0xb6);
fre=(unsigned)(1193180L/fre);
outportb(0x42,(char)fre);
outportb(0x42,(char)(fre>>8));
control=inportb(0x61);
outportb(0x61,(control)|0x3);
}
goal=(clock_t)dur+clock( );
while(goal>clock ( ));
if(fre)
outportb(0x61,control);
goal=(clock_t)0;note=note+2;
}
}

/*仅供参考!*/
----------------解决方案--------------------------------------------------------

好用


----------------解决方案--------------------------------------------------------

但是太少了吧


----------------解决方案--------------------------------------------------------
  相关解决方案