兩個(gè)聲音函數(shù)sound(),nosound()和延遲函數(shù)delay()由函數(shù)庫(kù)
成都創(chuàng)新互聯(lián)是專業(yè)的大廠網(wǎng)站建設(shè)公司,大廠接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行大廠網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
提供。
函數(shù)名:
sound
功
能:
以指定頻率打開PC揚(yáng)聲器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}
最好使用WINDOWS API來寫,因?yàn)椴皇褂肁PI可能還要自己寫個(gè)類似于播放器的功能~
舉個(gè)例子:
#pragma comment(lib,"Winmm.lib")
#include stdio.h
void playLyric()
{
;
}
#include windows.h
void main(){
PlaySound("C:\\WINDOWS\\Media\\recycle.wav",NULL,SND_ASYNC);
playLyric();
}
給你一個(gè)在VC下的例子:播放系統(tǒng)中關(guān)機(jī)音樂PlaySound(TEXT("C:\\Windows\\Media\\Windows XP 關(guān)機(jī).wav"),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
注意這個(gè)函數(shù)只能播放.wav格式的音樂,還有別忘了#include mmsystem.h
在mingw安裝目錄下引用
引用
代碼為你那個(gè)。
音樂文件已wav格式放到bin ,dubug下,也就是exe在的地方。
試試!
代碼如下:
#include windows.h
#include mmsystem.h
#pragma comment(lib, "WINMM.LIB")
/*播放音樂*/
void playMusic()
{
//aiyo.wav是放在代碼文件中
PlaySound(TEXT("aiyo.wav"),0,SND_FILENAME | SND_ASYNC);
}
/**
* 主? 函? 數(shù)(音樂放第一排)
*/
void main()
{
playMusic();
title();? ? ? ? ? ? //歡迎界面上的標(biāo)題
flower();? ? ? ? ? ?//打印字符畫
welcome();? ? ? ? ? //歡迎界面上的選項(xiàng)菜單
}
擴(kuò)展資料
C語言解析WAV音頻文件:
C語言基本的二進(jìn)制文件操作函數(shù)有fopen,fread等等。(注意是二進(jìn)制文件操作函數(shù),所以我們不討論fgets,這是普通的文本文件操作函數(shù))
fread是一個(gè)函數(shù)。從一個(gè)文件流中讀數(shù)據(jù),最多讀取count個(gè)項(xiàng),每個(gè)項(xiàng)size個(gè)字節(jié),如果調(diào)用成功返回實(shí)際讀取到的項(xiàng)個(gè)數(shù)(小于或等于count),如果不成功或讀到文件末尾返回 0。
它的函數(shù)原型為
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
而且C語言還有一種類型叫做結(jié)構(gòu)體,它在內(nèi)存中是順序存儲(chǔ)的。剛好我們也已經(jīng)得知了WAV文件在文件中的順序以及該順序中每個(gè)部分對(duì)應(yīng)的含義。
那么我們可以事先根據(jù)前面所說的WAV文件結(jié)構(gòu)來定義好一個(gè)struct,然后在main主函數(shù)中初始化這個(gè)struct,并且通過fread的第一個(gè)參數(shù)帶入初始化好的這個(gè)struct,那么執(zhí)行之后就會(huì)自動(dòng)讀取該文件,并且按照順序自動(dòng)把這些元數(shù)據(jù)填充進(jìn)了我們初始化好的struct中。
可以使用PlaySound()函數(shù)播放mp3音頻,該函數(shù)原型位于windows.h。
PlaySound函數(shù)的聲明為:
BOOL PlaySound(LPCSTR pszSound, HMODULE hwnd,DWORD fdwSound);
參數(shù)pszSound是指定了要播放聲音的字符串。
參數(shù)hwnd是應(yīng)用程序的實(shí)例句柄,除非pszSound的指向一個(gè)資源標(biāo)識(shí)符(即fdwSound被定義為SND_RESOURCE),否則必須設(shè)置為NULL。
參數(shù)fdwSound是標(biāo)志的組合,如下表所示。若成功則函數(shù)返回TRUE,否則返回FALSE。
使用PlaySound函數(shù)時(shí)需要在#includewindows.h后面加上(注意:不能加在前面):
例程:
CFileDialog?dlg(TRUE,?"mp3",?"*.mp3",?OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,?"mp3文件(*.mp3)|*.mp3|");
/*創(chuàng)建選擇對(duì)話框,讓用戶從文件夾中選取一個(gè)MP3文件*/
int?iRet?=?dlg.DoModal();//獲得對(duì)話框返回值
if(IDOK?==?iRet)?//如果返回值成功,表明成功獲取一個(gè)MP3文件
{
CString?pathName=?dlg.GetPathName();????//得到文件的路徑名稱
PlaySound(?pathName???,?NULL,?SND_FILENAME?|?SND_ASYNC);//用playsound函數(shù)播放該文件
}