重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
代碼如下:
專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)鐵門關(guān)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
#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)存中是順序存儲的。剛好我們也已經(jīng)得知了WAV文件在文件中的順序以及該順序中每個(gè)部分對應(yīng)的含義。
那么我們可以事先根據(jù)前面所說的WAV文件結(jié)構(gòu)來定義好一個(gè)struct,然后在main主函數(shù)中初始化這個(gè)struct,并且通過fread的第一個(gè)參數(shù)帶入初始化好的這個(gè)struct,那么執(zhí)行之后就會自動讀取該文件,并且按照順序自動把這些元數(shù)據(jù)填充進(jìn)了我們初始化好的struct中。
用C語言播放音樂,一般需要額外的庫或者調(diào)用系統(tǒng)的API函數(shù)。
以Windows為例,可以通過PlaySound函數(shù)播放wav格式的音樂。示例如下:
#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音樂可以使用如下代碼。
注意:生成程序后,請?jiān)赾md中執(zhí)行此程序,不要在vc/vs的IDE中運(yùn)行。
#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;
}
兩個(gè)聲音函數(shù)sound(),nosound()和延遲函數(shù)delay()由函數(shù)庫
提供。
函數(shù)名:
sound
功
能:
以指定頻率打開PC揚(yáng)聲器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}
調(diào)用DOS命令,讓 Windows Media Player 幫你播放
下面播放 "zzd.wav"
你若有別的格式文件,Windows Media Player 能識別的都可以播放。
#include stdio.h
void play_wav(char *s){
char cm[100];
sprintf(cm,"mplay32.exe /play %s",s);
system(cm);
}
main()
{
char s[100]="zzd.wav";
play_wav(s);
getchar();
return 0;
}