兩個聲音函數(shù)sound(),nosound()和延遲函數(shù)delay()由函數(shù)庫

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計體驗!已為成都戶外休閑椅等企業(yè)提供專業(yè)服務(wù)。
提供。
函數(shù)名:
sound
功
能:
以指定頻率打開PC揚聲器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}
TC 試:
#includedos.h
#includeconio.h
#includestdlib.h
/* this founction plays sound until hit any key */
void mysound()
{
long freq ;
while(!kbhit()){/* while no keyboard hit, play sound */
for(freq=200L;freq2000L;freq+=200L){
sound(freq);/*play freq sound*/
delay(200);/*delay 200ms*/
}
}
nosound();/* stop playing */
}
void main()
{
mysound() ;
}
---------------
VC++ 試:
#include stdio.h
#include stdlib.h
#include windows.h
main()
{
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
Sleep(500);
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
}
------
wintc 試驗上兩個。
可以使用PlaySound()函數(shù)播放wav聲音,該函數(shù)原型位于windows.h中,
函數(shù)原型為:
BOOL
PlaySound(LPCSTR
pszSound,
HMODULE
hmod,DWORD
fdwSound);
參數(shù)pszSound是指定了要播放聲音的字符串,該參數(shù)可以是WAVE文件的名字,或是WAV資源的名字,或是內(nèi)存中聲音數(shù)據(jù)的指針,或是在系統(tǒng)注冊表WIN.INI中定義的系統(tǒng)事件聲音。如果該參數(shù)為NULL則停止正在播放的聲音。
參數(shù)hmod是應(yīng)用程序的實例句柄,當(dāng)播放WAV資源時要用到該參數(shù),否則它必須為NULL。
參數(shù)fdwSound是標(biāo)志的組合,各種可選的標(biāo)志及意義如下所示。若成功則函數(shù)返回TRUE,否則返回FALSE。
播放標(biāo)志以及含義:
SND_APPLICATION
用應(yīng)用程序指定的關(guān)聯(lián)來播放聲音。
SND_ALIAS
pszSound參數(shù)指定了注冊表或WIN.INI中的系統(tǒng)事件的別名。
SND_ALIAS_ID
pszSound參數(shù)指定了預(yù)定義的聲音標(biāo)識符。
SND_ASYNC
用異步方式播放聲音,PlaySound函數(shù)在開始播放后立即返回。
SND_FILENAME
pszSound參數(shù)指定了WAVE文件名。
SND_LOOP
重復(fù)播放聲音,必須與SND_ASYNC標(biāo)志一塊使用。
SND_MEMORY
播放載入到內(nèi)存中的聲音,此時pszSound是指向聲音數(shù)據(jù)的指針。
SND_NODEFAULT
不播放缺省聲音,若無此標(biāo)志,則PlaySound在沒找到聲音時會播放缺省聲音。
SND_NOSTOP
PlaySound不打斷原來的聲音播出并立即返回FALSE。
SND_NOWAIT
如果驅(qū)動程序正忙則函數(shù)就不播放聲音并立即返回。
SND_PURGE
停止所有與調(diào)用任務(wù)有關(guān)的聲音。若參數(shù)pszSound為NULL,就停止所有的聲音,否則,停止pszSound指定的聲音。
SND_RESOURCE
pszSound參數(shù)是WAVE資源的標(biāo)識符,這時要用到hmod參數(shù)。
SND_SYNC
同步播放聲音,在播放完后PlaySound函數(shù)才返回。
************************************************************
例如我想播放在C:\WINDOWS\Media目錄中的
Windows
XP
啟動.wav
文件
程序如下:
#include
windows.h
#include
stdlib.h
int
main(int
argc,
char*
argv[])
{
PlaySound("C:\\WINDOWS\\Media\\Windows
XP
啟動.wav",
NULL,
SND_FILENAME
|
SND_ASYNC);
system("pause");
return
0;
}
在mingw安裝目錄下引用
引用
代碼為你那個。
音樂文件已wav格式放到bin ,dubug下,也就是exe在的地方。
試試!
可以使用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)用程序的實例句柄,一般傳遞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);
注意的問題:文件名中的反斜線要用“\\”,
因為C語言中“\”默認(rèn)是轉(zhuǎn)義符,
如果要表示“\”則需要使用“\\”,
對這點不明白的請回去翻一下C語言的書;
對中文字符串要使用TEXT宏。
可以使用PlaySound()函數(shù)播放聲音文件,
該函數(shù)原型位于#include?mmsystem.h中,
函數(shù)原型為:?BOOL?PlaySound(LPCSTR?pszSound,?HMODULE?hmod,DWORD?fdwSound);
參數(shù)pszSound是要播放聲音的文件名,
只支持WAV等格式的文件
參數(shù)hmod是應(yīng)用程序的實例句柄,一般傳遞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);
當(dāng)前標(biāo)題:c語言下播放聲音的函數(shù),c語言實現(xiàn)語音播放
轉(zhuǎn)載注明:http://chinadenli.net/article1/dseidid.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、ChatGPT、網(wǎng)站營銷、網(wǎng)站維護、網(wǎng)站收錄、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)