這可能是因為你的電腦沒有蜂鳴器吧,這兩個函數(shù)好像都是通過蜂鳴器發(fā)聲的,不是通過揚聲器發(fā)聲
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比婁煩網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式婁煩網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋婁煩地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。
兩個聲音函數(shù)sound(),nosound()和延遲函數(shù)delay()由函數(shù)庫
提供。
函數(shù)名:
sound
功
能:
以指定頻率打開PC揚聲器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}
可以使用PlaySound()函數(shù)播放mp3音頻,該函數(shù)原型位于windows.h。
PlaySound函數(shù)的聲明為:
BOOL PlaySound(LPCSTR pszSound, HMODULE hwnd,DWORD fdwSound);
參數(shù)pszSound是指定了要播放聲音的字符串。
參數(shù)hwnd是應(yīng)用程序的實例句柄,除非pszSound的指向一個資源標(biāo)識符(即fdwSound被定義為SND_RESOURCE),否則必須設(shè)置為NULL。
參數(shù)fdwSound是標(biāo)志的組合,如下表所示。若成功則函數(shù)返回TRUE,否則返回FALSE。
使用PlaySound函數(shù)時需要在#includewindows.h后面加上(注意:不能加在前面):
例程:
CFileDialog?dlg(TRUE,?"mp3",?"*.mp3",?OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,?"mp3文件(*.mp3)|*.mp3|");
/*創(chuàng)建選擇對話框,讓用戶從文件夾中選取一個MP3文件*/
int?iRet?=?dlg.DoModal();//獲得對話框返回值
if(IDOK?==?iRet)?//如果返回值成功,表明成功獲取一個MP3文件
{
CString?pathName=?dlg.GetPathName();????//得到文件的路徑名稱
PlaySound(?pathName???,?NULL,?SND_FILENAME?|?SND_ASYNC);//用playsound函數(shù)播放該文件
}
用C語言播放音樂,一般需要額外的庫或者調(diào)用系統(tǒng)的API函數(shù)。
以Windows為例,可以通過PlaySound函數(shù)播放wav格式的音樂。示例如下,代碼在vc6.0中編譯通過。
#includestdio.h
#includewindows.h
#includemmsystem.h
#pragma?comment(lib,?"WINMM.LIB")
int?main()
{
PlaySound(TEXT("1.wav"),0,SND_FILENAME);?//1.wav是要播放的音樂文件
return?0;
}
如果想播放mp3音樂可以使用如下代碼。
注意:生成程序后,請在cmd中執(zhí)行此程序,不要在vc/vs的IDE中運行。
#include?windows.h
#include?mmsystem.h
#include?stdio.h
#pragma?comment(lib,?"Winmm.lib")
int?main(int?argc,?char?*argv[])
{
//絕對地址形式
TCHAR?fileName[]="ganlusi.mp3";
TCHAR?shortName[MAX_PATH];
GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR));
TCHAR?cmd[MAX_PATH+10];
wsprintf(cmd,"play?%s",shortName);
mciSendString(cmd,NULL,?0,?NULL);
Sleep(5?*?60?*?1000);?//這里是防止一播放就結(jié)束做的延遲
return?0;
}
#include windows.h //使用windowsAPI函數(shù)Beep();
/*
BOOL Beep(
DWORD dwFreq, // sound frequency, in hertz
DWORD dwDuration // sound duration, in milliseconds
);
*/
Beep(5500,150);
這個函數(shù)是直接操作PC的喇叭,讓其以一定的頻率發(fā)出聲音
參數(shù)為頻率,可以這樣用 sound(100);
改變參數(shù)大小可以發(fā)出不同的音
C語言中的這個函數(shù)是不能用來播放指定的音頻文件的,如果需要,可以調(diào)用系統(tǒng)API函數(shù)。
分享題目:c語言api聲音函數(shù) c語音的函數(shù)
文章來源:http://muchs.cn/article14/docooge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、定制開發(fā)、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、企業(yè)建站
聲明:本網(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)