導航:首頁 > 軟體知識 > 如何編寫音樂下載程序

如何編寫音樂下載程序

發布時間:2024-04-01 23:27:41

A. 濡備綍鐢╟璇璦緙栧啓8051鍗曠墖鏈洪煶涔愮▼搴

#define uchar unsigned char //瀹氫箟涓涓嬫柟渚誇嬌鐢
#define uint unsigned int
#define ulong unsigned long
#include <reg52.h> //鍖呮嫭涓涓52鏍囧噯鍐呮牳鐨勫ご鏂囦歡

char code dx516[3] _at_ 0x003b;//榪欐槸涓轟簡浠跨湡璁劇疆鐨

sbit BEEP=P1^7; //鍠囧彮杈撳嚭鑴
sbit P10=P1^0;
sbit K1= P3^2;
sbit K2= P3^5;
sbit K3= P2^4;
sbit K4= P2^5;

uchar th0_f; //鍦ㄤ腑鏂涓瑁呰澆鐨凾0鐨勫奸珮8浣
uchar tl0_f; //鍦ㄤ腑鏂涓瑁呰澆鐨凾0鐨勫間綆8浣

//T0鐨勫,鍙婅緭鍑洪戠巼瀵圭収琛
uchar code freq[36*2]={
0xA9,0xEF,//00220HZ ,1 //0
0x93,0xF0,//00233HZ ,1#
0x73,0xF1,//00247HZ ,2
0x49,0xF2,//00262HZ ,2#
0x07,0xF3,//00277HZ ,3
0xC8,0xF3,//00294HZ ,4
0x73,0xF4,//00311HZ ,4#
0x1E,0xF5,//00330HZ ,5
0xB6,0xF5,//00349HZ ,5#
0x4C,0xF6,//00370HZ ,6
0xD7,0xF6,//00392HZ ,6#
0x5A,0xF7,//00415HZ ,7
0xD8,0xF7,//00440HZ 1 //12
0x4D,0xF8,//00466HZ 1# //13
0xBD,0xF8,//00494HZ 2 //14
0x24,0xF9,//00523HZ 2# //15
0x87,0xF9,//00554HZ 3 //16
0xE4,0xF9,//00587HZ 4 //17
0x3D,0xFA,//00622HZ 4# //18
0x90,0xFA,//00659HZ 5 //19
0xDE,0xFA,//00698HZ 5# //20
0x29,0xFB,//00740HZ 6 //21
0x6F,0xFB,//00784HZ 6# //22
0xB1,0xFB,//00831HZ 7 //23
0xEF,0xFB,//00880HZ `1
0x2A,0xFC,//00932HZ `1#
0x62,0xFC,//00988HZ `2
0x95,0xFC,//01046HZ `2#
0xC7,0xFC,//01109HZ `3
0xF6,0xFC,//01175HZ `4
0x22,0xFD,//01244HZ `4#
0x4B,0xFD,//01318HZ `5
0x73,0xFD,//01397HZ `5#
0x98,0xFD,//01480HZ `6
0xBB,0xFD,//01568HZ `6#
0xDC,0xFD,//01661HZ `7 //35
};

//瀹氭椂涓鏂0,鐢ㄤ簬浜х敓鍞辨瓕棰戠巼
timer0() interrupt 1
{
TL0=tl0_f;TH0=th0_f; //璋冨叆棰勫畾鏃跺
BEEP=~BEEP; //鍙栧弽闊充箰杈撳嚭IO
}

//******************************
//闊充箰絎﹀彿涓茶В閲婂嚱鏁
//鍏ュ彛:瑕佽В閲婄殑闊充箰絎﹀彿涓,杈撳嚭鐨勯煶璋冧覆,杈撳嚭鐨勬椂闀誇覆
changedata(uchar *song,uchar *diao,uchar *jie)
{
uchar i,i1,j;
char gaodi; //楂樹綆+/-12闊抽樁
uchar banyin;//鏈夋病鏈夊崐涓鍗囬煶闃
uchar yinchang;//闊抽暱
uchar code jie7[8]={0,12,14,16,17,19,21,23}; //C璋冪殑7涓鍊

*diao=*song;
for(i=0,i1=0;;)
{
gaodi=0; //楂樹綆=0
banyin=0;//鍗婇煶=0
yinchang=4;//闊抽暱1鎷
if((*(song+i)=='|') || (*(song+i)==' ')) i++;
//鎷嶅瓙闂撮殧鍜屼竴涓絀烘牸榪囨護

switch(*(song+i))
{
case ',': gaodi=-12;i++;//浣庨煶
break;

case '`': gaodi=12;i++; //楂橀煶
break;
}

if(*(song+i)==0) //閬囧埌0緇撴潫
{
*(diao+i1)=0; //鍔犲叆緇撴潫鏍囧織0
*(jie+i1)=0;
return;
}

j=*(song+i)-0x30; i++; //鍙栧嚭鍩哄噯闊
j=jie7[j]+gaodi; //鍔犱笂楂樹綆闊

yinc: switch(*(song+i))
{
case '#': //鏈夊崐闊砵鍔犱竴涓闊抽樁
i++;j++;
goto yinc;

case '-': //鏈変竴涓闊寵妭鍔犻暱
yinchang+=4;
i++;
goto yinc;

case '_': //鏈変竴涓闊寵妭緙╃煭
yinchang/=2;
i++;
goto yinc;

case '.': //鏈変竴涓鍔犲崐鎷
yinchang=yinchang+yinchang/2;
i++;
goto yinc;

}

*(diao+i1)=j; //璁板綍闊崇
*(jie+i1)=yinchang; //璁板綍闊抽暱
i1++;
}
}
//******************************************
//濂忎箰鍑芥暟
//鍏ュ彛:瑕佹紨濂忕殑闊充箰絎﹀彿涓
void play(uchar *songdata)
{
uchar i,c,j=0;
uint n;
uchar xdata diaodata[112]; //闊寵皟緙撳啿
uchar xdata jiedata[112]; //闊抽暱緙撳啿

changedata(songdata,diaodata,jiedata); //瑙i噴闊充箰絎﹀彿涓
TR0=1;
for(i=0;diaodata[i]!=0;i++) //閫愪釜絎﹀彿婕斿
{
tl0_f=freq[diaodata[i]*2]; //鍙栧嚭瀵瑰簲鐨勫畾鏃跺奸佺粰T0
th0_f=freq[diaodata[i]*2+1];
for(c=0;c<jiedata[i];c++) //鎸夌収闊抽暱寤舵椂
{
for(n=0;n<32000;n++);
if((!K1)||(!K2)||(!K3)||(!K4))//鍙戠幇鎸夐敭,絝嬪嵆閫鍑烘挱鏀
{
TR0=0;
return;
}
}
TR0=0;
for(n=0;n<500;n++); //闊崇﹂棿寤舵椂

TR0=1;
}
TR0=0;
}

//浠欏墤
uchar code xianjian[]={
"|3_3_3_2_3-|2_3_2_2_,6,6_,7_|12_1_,7,6_,5_|,6---|"
"3_3_3_2_3.6_|5_6_5_5_22_3_|45_4_32_1_|3.--3_|"
"67_6_55_3_|5--3_5_|26_5_32_3_|3---|"
"26_6_6-|16_6_66_7_|`17_6_76_7_|3.--3_|"
"67_6_55_3_|5--3_5_|67_6_76_7_|3---|"
"26_6_6-|16_6_66_7_|`17_6_7.5_|6---|"
};
uchar code song3[]={
"5-5_3_2_1_|3---|6-6_4_2_1_"
",7--,5_|1.3_5.1_|,7.3_5 5_|"
"6.7_`1.6_|6_5_5-3_2_|1.1_13_2_|"
"1.1_12_3_|2.1_,62_3_|2-- ,5_|"
"1.3_5.1_|,7.3_55_|6.7_`1.6_|"
"6_5_5-3_2_|1.1_13_2_|1.1_12_3_"
"2.,6_,71_2_|1--"
};
//涓栦笂鍙鏈夊堝堝ソ
uchar code mamahao[]={
"6.5_35|`16_5_6-|35_6_53_2_|1_,6_5_3_2-|"
"2.3_55_6_|321-|5.3_2_1_,6_1_|,5--"
};

//涓変釜鎸夐敭閫夋嫨涓夐栦笉鍚岀殑闊充箰鎾鏀,涓涓閿鍋滄㈡挱鏀
void main(void) // 涓葷▼搴
{
TMOD = 0x01; //浣跨敤瀹氭椂鍣0鐨16浣嶅伐浣滄ā寮
TR0 = 0;
ET0 = 1; //瀹氭椂鍣0涓鏂

EA = 1; //鎵撳紑鎬諱腑鏂

while(1)
{
if(!K1)
{
while(!K1);
play(xianjian); //鎾鏀鵑煶涔
}
if(!K2)
{
while(!K2);
play(song3); //鎾鏀鵑煶涔
}
if(!K3)
{
while(!K3);
play(mamahao); //鎾鏀鵑煶涔
}
}
}

B. 濡備綍緙栧啓51鍗曠墖鏈洪煶涔愮▼搴

涓銆佹諱綋鍘熺悊錛
涔愭洸涓涓嶅悓鐨勯煶絎︼紝瀹炶川灝辨槸涓嶅悓棰戠巼鐨勫0闊熾傞氳繃鍗曠墖鏈轟駭鐢熶笉鍚岀殑棰戠巼鐨勮剦鍐蹭俊鍙鳳紝
緇忚繃鏀懼ぇ鐢佃礬錛岀敱銍傞福鍣ㄦ斁鍑猴紝灝變駭鐢熶簡緹庡欏拰璋愮殑涔愭洸銆
浜屻佸崟鐗囨満浜х敓涓嶅悓棰戠巼鑴夊啿淇″彿鐨勫師鐞嗭細
1錛夎佷駭鐢熼煶棰戣剦鍐詫紝鍙瑕佺畻鍑烘煇涓闊抽戠殑鑴夊啿錛1/棰戠巼錛夛紝鐒跺悗灝嗘ゅ懆鏈熼櫎浠2錛屽嵆涓哄崐鍛
鏈熺殑鏃墮棿錛屽埄鐢ㄥ畾鏃跺櫒璁℃椂榪欎釜鍗婂懆鏈熺殑鏃墮棿錛屾瘡褰撹℃椂鍒板悗灝卞皢杈撳嚭鑴夊啿鐨処/O 鍙嶇浉錛岀劧
鍚庨噸澶嶈℃椂姝ゅ崐鍛ㄦ湡鐨勬椂闂村啀瀵笽/O 鍙嶇浉錛屽氨鍙浠ュ湪I/O 鑴氫笂寰楀埌姝ら戠巼鐨勮剦鍐層
2錛夊埄鐢8051 鐨勫唴閮ㄥ畾鏃跺櫒浣垮叾宸ヤ綔鍦ㄨ℃暟鍣ㄦā寮廙ODE1 涓嬶紝鏀瑰彉璁℃暟鍊糡H0 鍙奣L0 浠
浜х敓涓嶅悓棰戠巼鐨勬柟娉曞備笅錛
渚嬪傦紝棰戠巼涓523Hz錛屽叾鍛ㄦ湡澶/523 S=1912uS錛屽洜姝ゅ彧瑕佷護璁℃暟鍣ㄨ℃椂956uS/1us=956錛
鍦ㄦ瘡璁℃暟956 嬈℃椂灝卞皢I/O 鍙嶆帴錛屽氨鍙寰楀埌涓闊矰O錛532Hz錛夈
璁℃暟鑴夊啿鍊間笌棰戠巼鐨勫叧緋誨叕寮忓備笅錛
N=Fi/2/Fr
錛圢錛氳℃暟鍊礆紝Fi錛氬唴閮ㄨ℃椂涓嬈′負1uS錛屾晠鍏墮戠巼涓1MHz錛孎r錛氳佷駭鐢熺殑棰戠巼錛
涓夈佸叾璁℃暟鍊肩殑奼傛硶濡備笅錛
T=65536-N=65536-Fi/2/Fr
璁$畻涓句緥錛
璁綤=65536,F==Fi=1MHz錛屾眰浣庨煶DO錛261Hz錛夈佷腑闊矰O錛523Hz錛夈侀珮闊矰O錛1046Hz錛
鐨勮℃暟鍊箋
T=65536-N=65536-Fi/2/Fr=6/2/Fr=65536-/Fr
浣庨煶DO 鐨凾=65536-/262=63627
涓闊矰O 鐨凾=65536-/523=64580
楂橀煶DO 鐨凾=65536-/1047=65059
鍙傝冪▼搴忥細
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP=P3^7;
// 鐢熸棩蹇涔愭瓕鐨勯煶絎﹂戠巼琛錛屼笉鍚岄戠巼鐢變笉鍚岀殑寤舵椂鏉ュ喅瀹
uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,
212,212,106,126,159,169,190,119,119,126,159,142,159,0};
// 鐢熸棩蹇涔愭瓕鑺傛媿琛錛岃妭鎷嶅喅瀹氭瘡涓闊崇︾殑婕斿忛暱鐭
uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24,
9,3,12,12,12,12,12,9,3,12,12,12,24,0};
// 寤舵椂
void DelayMS(uint x)
{
uchar t;
while(x--) for(t=0;t<120;t++);
}
// 鎾鏀懼嚱鏁
void PlayMusic()
{
uint i=0,j,k;
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{ //鎾鏀懼悇涓闊崇︼紝SONG_LONG 涓烘媿瀛愰暱搴
for(j=0;j<SONG_LONG[i]*20;j++)
{
BEEP=~BEEP;
//SONG_TONE寤舵椂琛ㄥ喅瀹氫簡姣忎釜闊崇︾殑棰戠巼
for(k=0;k<SONG_TONE[i]/3;k++);
}
DelayMS(10);
i++;
}
}
void main()
{
BEEP=0;
while(1)
{
PlayMusic(); //鎾鏀劇敓鏃ュ揩涔
DelayMS(500); //鎾鏀懼畬鍚庢殏鍋滀竴孌墊椂闂
}
}

C. 求mp3的具體下載音樂程序

先把網上的歌曲下載到電腦硬碟里。怎樣從網上下載歌曲?(如果這步會了,就跳過)
答:首先最好在你硬碟里建一個文件夾,可以給這個文件夾起個名字叫「歌曲」之類的方便查找。
然後教你怎樣下載。
1、在地址欄里輸入「網路」,按下回車鍵,或用滑鼠左鍵單擊轉到。
2、滑鼠左鍵單擊「MP3」。
3、可以選擇左鍵單擊「歌手列表」。
4、選擇你想聽這首歌的演唱者。
5、在「網路MP3搜索」的右側的「○歌詞
○全部音樂
○MP3
○rm
○vma
○flash
○鈴聲
○點歌」里選中「○MP3」,再按下回車鍵,或用滑鼠左鍵單擊「網路搜索」。
6、選中你要聽的歌;用滑鼠右鍵單擊這首歌或用滑鼠右鍵單擊「試聽」;然後用滑鼠左鍵單擊「目標另存為」;打開「保存在」右邊的下拉列表,或用滑鼠左鍵單擊「向上一級的符號」,找到你要下載到的「歌曲」文件夾,你可以在這個文件夾里建你要下載這首歌曲的演唱者的文件夾,方便查找,再用滑鼠左鍵雙擊這個演唱者的文件夾;在下面的「文件名」里輸入你下載歌曲的名字(方便查找);按下按下回車鍵,或用滑鼠左鍵單擊保存。
然後你就可以再去一邊找歌,一邊等待這首被下載的歌曲了。
以此類推,也可以在第5步時在「網路MP3搜索」的右側的長方框里輸入你要下載的歌曲名,然後選中「○MP3」,再按下回車鍵,或用滑鼠左鍵單擊「網路搜索」。
二、MP3插在哪兒??(如果這步會了,就跳過)
答:如果有連接MP3和電腦的線,試試哪面能插到MP3上,就先插到MP3上,另一面就到電腦的前面和後面找,試試哪個插孔能插上就是了。
三、MP3與電腦連接好後,打開MP3的開關。(或者你的MP3自動連接)?(如果這步會了,就跳過)
四、怎樣把電腦里的歌曲下載到MP3上??(如果這步會了,就跳過)
一種:用MP3管理軟體下載方法:
1、打開桌面上的MP3軟體。
2、選中你要裝到MP3里的歌曲,點擊「下載」。(注意歌曲不要下載太多,每首歌之間也要佔MP3空間的,沒有空間MP3就不能播放歌曲了)
另一種:
1、打開「我的電腦」,打開你要下載到MP3上的歌曲的文件夾
2、右鍵單擊要下載到MP3上的歌曲→左鍵單擊「復制」
3、打開「我的電腦」,打開「可移動磁碟」,右鍵單擊空白處→左鍵單擊「粘貼。

D. 編寫音樂小程序要用到哪些格式代碼

編寫音樂小程序要用到格式代碼如下:
1、音樂播放邏輯代碼pages、index、index.js。
2、底部播放器的結構代碼page/index、index.wxml,底部播放器暫停/播放按鈕控制歌曲pages、index、index.wxml。

閱讀全文

與如何編寫音樂下載程序相關的資料

熱點內容
如何將交易所的幣轉到區塊鏈 瀏覽:914
菜市場致癌物有哪些 瀏覽:486
寶沃車有什麼技術嗎 瀏覽:136
電子交易有什麼好處 瀏覽:630
哪些農產品是免稅 瀏覽:398
sap產品層次如何配置 瀏覽:787
農商手機銀行怎麼調整交易額度 瀏覽:651
市場里的蝦怎麼養 瀏覽:126
代理商資格怎麼被取消 瀏覽:324
團體咨詢基本技術有哪些 瀏覽:319
眼部產品怎麼選 瀏覽:836
交易貓裡面怎麼找商家名字 瀏覽:129
市場銷售怎麼改善 瀏覽:332
第一產業增加值數據在哪裡找 瀏覽:110
偵查衛星光學技術哪個好 瀏覽:785
辦流量卡需要什麼程序 瀏覽:457
大白返利卡代理商怎麼盈利 瀏覽:147
豬肉市場總量是多少 瀏覽:953
熊市的交易機會在哪裡 瀏覽:815
外匯和微交易哪個好 瀏覽:824