需要用c++設(shè)計一個預(yù)存兩首可播放音樂的音樂盒
- 資格考試
- 2022-06-23 17:43:10
設(shè)計個一個c語言程序,一定是c語言的數(shù)字音樂盒,要求如下,急用,謝謝大家啦!!
額,小弟弟,這是要收費的~~如何用C/C++編寫一個音樂播放器? 不需要回答代碼,能說說思路就行。
我來說說我的思路:
讀取需要播放的文件
判斷文件的類型 使用對應(yīng)的解碼函數(shù)(可以自己寫 也可以調(diào)用的別人的庫)(因為類型都有不同的格式)
裝載文件到內(nèi)存 利用聲卡驅(qū)動程序(或是對應(yīng)的發(fā)聲函數(shù))來播放
假設(shè)現(xiàn)在是在windows平臺
您就可以利用 PlaySound函數(shù)來播放音樂 不過需要連接winmm.lib庫而且需要包含頭文件 mmsystem.h
好,現(xiàn)在我再舉一個例子:(假設(shè)還是在windows平臺)(這里利用了Beep函數(shù)來播放簡單聲音)
#include
#include
#include
int main()
{
char filename[1024];
FILE* fp;
int a = 0,b = 0;
printf("您需要播放什么文件:");
gets(filename);
fp = fopen(filename,"r");*讀取文件到內(nèi)存 */
while(!ferror(fp) && fscanf(fp,"Beep(%d,%d)\n",&a,&b) == 2)/*讀取文件到內(nèi)存 (按該文件制定的播放格式來播放)*/
{
Beep(a,b);/* 發(fā)聲 */
}
fclose(fp);
fp = 0;
puts("播放完畢!");
getch();
return 0;
}
這個程序就是按我剛剛說的步驟來做的
要播放的文件使用了我自己制定的音樂格式(呵呵 只是為了給你說清楚)(真正的音樂格式其實是2進制格式的 而不是這里的文本格式)(格式是這樣的:
Beep(頻率,播放時間) )
怎么用C語言編寫簡單的歌曲播放器?
很簡單的。 計算機發(fā)聲原理: 聲音有三個特性:響度、音調(diào)、音色。 響度,這個非常好理解。就是我們感覺到的聲音的大小。具體點說就是由“振幅”決定,振幅越大響度越大。一般計量響度的單位是分貝,dB。 音調(diào),這個就是聲音的高低,由“頻率”決定,頻率越高音調(diào)越高。頻率單位是赫茲,符號Hz。 音色,在生活當中,我們會發(fā)現(xiàn)各種物品發(fā)出的聲音的特點是不一樣的,如二胡和笛子。聲音的特性就是音色。而決定聲音的音色是由于物體本身的材料、結(jié)構(gòu)。 對于我們的計算機而言。發(fā)聲的設(shè)置都是固定了的。要么要計算機上的那個喇叭,那么是外接的音響等。 現(xiàn)在這里對計算機上的那個喇叭用Turbo C 2.0進行編程,使之發(fā)出動聽的音誰給我個單片機C語言編程的音樂盒程序!
* ; 蜂鳴器唱《祝你平安》 * ; * ;********************************************************************************/ SPK bit P2.3 ORG 0000H LJMP START ORG 000BH INC 20H ;中斷服務(wù),中斷計數(shù)器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形成10毫秒中斷 RETISTART: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0: N我想用C語言寫一個音樂播放器,請問我該做哪些準備?
第一,學(xué)c語言 第二,你打算播放哪些格式的文件,就去學(xué)習(xí)這些文件格式的壓縮,解壓縮原理。比如你的播放器要播放mp3,你要學(xué)會MPEG-1的layer3的壓縮,解壓縮原理 網(wǎng)上有一些源代碼。你可以看看,學(xué)習(xí)下展開全文閱讀