欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言聲音控制的函數(shù),c語言發(fā)聲函數(shù)

請問,c語言中的函數(shù)sound(),delay(),nosound(),d(x,y,z)分別是哪個庫中的,都有什么作用

函數(shù)void sound(unsigned frequency);

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)建站專業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站建設(shè)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!

以指定頻率打開PC揚(yáng)聲器

nosound :關(guān)閉PC揚(yáng)聲器

原型為: void nosound(void);

delay 用于將程序的執(zhí)行暫停一段時間(毫秒)

原型為:void delay(unsigned milliseconds);

如delay(5000)表示延遲5秒

sound()函數(shù)用于讓pc喇叭發(fā)聲,nosound()函數(shù)用于使正在發(fā)聲的pc喇叭靜音。要使程序中的發(fā)聲的具體方法,是調(diào)用sound()函數(shù)并延遲一定時間,然后使用nosound()函數(shù)靜音,具體語句實(shí)現(xiàn)方法舉例如下:

sound(100);

delay(100);

nosound();

它們?nèi)齻€都在“dos.h”里面,

至于d(x,y,z)應(yīng)該是程序員自己定義的函數(shù),我沒見過。

C語言中PlaySound函數(shù)如何播放MP3文件?

可以使用PlaySound()函數(shù)播放聲音文件,

該函數(shù)原型位于#include mmsystem.h中,

因此要使用PlaySound,首先需要添加對這個頭文件的引用。

提示:mm就是MultiMedia的簡寫,多媒體

【1、函數(shù)使用說明】

函數(shù)原型為: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);

返回值表示是否播放成功。

參數(shù)pszSound是要播放聲音的文件名,

只支持WAV等格式的文件(應(yīng)該不能播放MP3格式文件);

你可以去mp3.baidu.com用“wav”為關(guān)鍵詞可以搜到很多wav音樂,

也可以用工具將其他格式的轉(zhuǎn)換為wav格式的。

參數(shù)hmod是應(yīng)用程序的實(shí)例句柄,一般傳遞NULL就可以;

參數(shù)fdwSound是標(biāo)志的組合掩碼,

可選值有SND_FILENAME、SND_ASYNC、SND_SYNC等。

SND_FILENAME表示pszSound參數(shù)指定的是文件名(pszSound還可以指定資源、內(nèi)存音樂、系統(tǒng)音樂等等);

SND_ASYNC:用異步方式播放聲音,PlaySound函數(shù)在開始播放后立即返回;

SND_SYNC:同步播放聲音,在播放完后PlaySound函數(shù)才返回;

SND_LOOP一遍遍的重復(fù)播放聲音,必須與SND_ASYNC標(biāo)志一塊使用。

【2、使用舉例】

PlaySound(TEXT("C:\\WINDOWS\\Media\\Windows XP 啟

動.wav"),NULL,SND_FILENAME|SND_SYNC);

注意的問題:文件名中的反斜線要用“\\”,

因?yàn)镃語言中“\”默認(rèn)是轉(zhuǎn)義符,

如果要表示“\”則需要使用“\\”,

對這點(diǎn)不明白的請回去翻一下C語言的書;

對中文字符串要使用TEXT宏。

如何用c語言編寫歌曲

我們知道,音樂是音高和音長的有序組合,設(shè)計(jì)微機(jī)音樂最重要的就是如何定義音高和音長,以及如何讓揚(yáng)聲器發(fā)出指定的音符。下面給出音符與頻率的關(guān)系表。C語言提供的三個函數(shù)sound( )、nosound( )和clock( )可以很方便地解決上述的問題。sound( )函數(shù)可以用指定頻率打開PC機(jī)揚(yáng)聲器直到用nosound( )函數(shù)來關(guān)閉它; clock( )函數(shù)正好用來控制發(fā)聲時間,而且它不受PC機(jī)主頻高低的影響。下面這段程序可使微機(jī)發(fā)出c調(diào)1的聲音。

音符與頻率關(guān)系表

音符 c d e f g a b

1 2 3 4 5 6 7

頻率 262 294 330 349 392 440 494

音符 c d e f g a b

1 2 3 4 5 6 7

頻率 523 587 659 698 784 880 988

音符 c d e f g a b

1 2 3 4 5 6 7

頻率 1047 1175 1319 1397 2568 1760 1976

#includestdio.h

#includedos.h

void pause(int);

void sound1(int,int);

void main(void)

{

int i,freq,speed=5;

int time=4*speed;

char *qm="iddgwwwQQgfff dddfghhhggg ddgwwwqqgfff\

ddffhjqqqqq wpggjhgddgqq hhqwwqjjjggg\

ddgwwwqqqgfff ddffhjqqqqqq";/*定義歌曲*/

while (*qm++ !='\0'){

i=1;

switch(*qm){

case 'k':

time=1*speed; i=0;

break;

case 'i':

time=6*speed; i=0;

break;

case 'o':

time=10*speed; i=0;

break;

case 'p':

pause(time); i=0;

break;

case 'a':

freq=523;

break;

case 's':

freq=587;

break;

case 'd':

freq=659;

break;

case 'f':

freq=698;

break;

case 'g':

freq=784;

break;

case 'h':

freq=880;

break;

case 'j':

freq=988;

break;

case 'z':

freq=262;

break;

case 'X':

freq=294;

break;

case 'c':

freq=330;

break;

case 'v':

freq=349;

break;

case 'b':

freq=392;

break;

case 'n':

freq=440;

break;

case 'm':

freq=494;

break;

case 'q':

freq=1047;

break;

case 'w':

freq=1175;

break;

case 'e':

freq=1319;

break;

case 'r':

freq=1397;

break;

case 't':

freq=2568;

break;

case 'y':

freq=1760;

break;

case 'u':

freq=1976;

break;

default:

i=0;

break;

}

if(i)

sound1(freq,time);

}

}

void sound1(int freq,int time) /*freq為頻率,time為持續(xù)時間*/

{

union{

long divisor;

unsigned char c[2];

}count;

unsigned char ch;

count.divisor=1193280/freq; /* 1193280 是系統(tǒng)時鐘速率*/

outp(67,182);

outp(66,count.c[0]);

outp(66,count.c[1]);

ch=inp(97);

outp(97,ch|3);

pause(time);

outp(97,ch);

}

void pause(int time)

{

int t1,t2;

union REGS in,out;

in.h.ah=0X2c;

int86(0X21,in,out); /* 取當(dāng)前時間*/

t1=t2=100*out.h.dh+out.h.dl; /*out.h.dh 為秒值,out.h.dl 為1/100 秒值*/

while(t2-t1time)

{

int86(0X21,in,out);

t2=100*out.h.dh+out.h.dl;

if (t2t1)t2+=6000; /* 增加一分鐘*/

}

}

新聞名稱:c語言聲音控制的函數(shù),c語言發(fā)聲函數(shù)
鏈接地址:http://chinadenli.net/article13/dsicdds.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)網(wǎng)頁設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)公司網(wǎng)站營銷關(guān)鍵詞優(yōu)化網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)