當前位置:首頁 » 編程語言 » c語言歌曲

c語言歌曲

發布時間: 2022-09-18 04:45:28

❶ windows 7 下,用vc++ 編得程序。用c語言播放歌曲。不能實現功能,

我測試了下,老是警報音,那是因為你指定的路徑所在沒有改文件,也就是說c:\windows\media\下沒有windows關機.wav這個文件。你改成你要播放的wav文件的路徑就行了,因為c或c++語言中要表示\需要\\表示。所以你看著辦吧,不過playsound只能播放wav格式的音樂不是很好,你可以用mcisendstring,這個api更強大,足有做一款播放器的了

❷ 在c語言程序中播放音樂

給你一個在VC下的例子:播放系統中關機音樂PlaySound(TEXT("C:\\Windows\\Media\\Windows XP 關機.wav"),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
注意這個函數只能播放.wav格式的音樂,還有別忘了#include <mmsystem.h>

❸ C語言 怎麼編程播放WAV音樂

可以使用PlaySound()函數播放聲音文件,

該函數原型位於#include<mmsystem.h>中,

函數原型為:BOOLPlaySound(LPCSTRpszSound,HMODULEhmod,DWORDfdwSound);

參數pszSound是要播放聲音的文件名,

只支持WAV等格式的文件

參數hmod是應用程序的實例句柄,一般傳遞NULL就可以;

參數fdwSound是標志的組合掩碼,

可選值有SND_FILENAME、SND_ASYNC、SND_SYNC等。

SND_FILENAME表示pszSound參數指定的是文件名(pszSound還可以指定資源、內存音樂、系統音樂等等);

SND_ASYNC:用非同步方式播放聲音,PlaySound函數在開始播放後立即返回;

SND_SYNC:同步播放聲音,在播放完後PlaySound函數才返回;

SND_LOOP一遍遍的重復播放聲音,必須與SND_ASYNC標志一塊使用。

【2、使用舉例】
PlaySound(TEXT("C:\WINDOWS\Media\WindowsXP啟動.wav"),NULL,SND_FILENAME|SND_SYNC);

❹ 急求高手啊,怎麼在c語言程序中寫一段音樂啊!!!!

編譯能通過---------- 編譯時把注釋去掉

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct song{ //定義一個歌曲結構
int id; //歌曲號
char title[20]; //歌曲名
char singer[20]; //歌手名
};

typedef struct song SONG; //把結構命名為 SONG

int main( void )
{
SONG songlist[100]; //定義一個存儲歌曲信息的列表,長100
int i=0,j;
int c;

clrscr();

while (i<=100) {
printf( "please enter the song's id, title and singer:\n" );

//輸入歌曲號 然後空格 輸入歌曲名 然後空格 輸入歌手名 然後回車

scanf( "%d%s%s", &songlist[i].id, songlist[i].title, songlist[i].singer);
i++;

//每次輸入完一條信息後,把列表中的歌曲信息全部列印出來看一下
printf("the songlist is below:\n\n");
for( j=0; j<=i; j++){
printf( "%d %s %s\n", songlist[j].id, songlist[j].title, songlist[j].singer );
}

printf("\n");

}

getch();
return 0;
}

或者是
#include "dos.h"
#include "stdio.h"
#define time 10000 /*預定義節拍長度 time(一拍)*/
#define time0 5000 /*預定義半節拍長度 time0*/
#define time1 15000 /*預定義1.5節拍長度 time1*/
#define time2 20000 /*預定義2節拍長度 time2*/
#define time3 30000 /*預定義3節拍長度 time3*/
#define _a 262 /*預定義低音音符1~7*/
#define _b 294
#define _c 330
#define _d 349
#define _e 392
#define _f 440
#define _g 494
#define a 523/*預定義中音音符1~7*/
#define b 587
#define c 659
#define d 698
#define e 784
#define f 880
#define g 988
#define a_ 1047/*預定義高音音符1~7*/
#define b_ 1175
#define c_ 1319
#define d_ 1397
#define e_ 2568
#define f_ 1760
#define g_ 1976
main()
{
int i=0,j;
unsigned milliseconds;
int music[1000]={
f,time,
f,time,
g,time0,
f,time,
f,time,
g,time0,
f,time,
g,time,
a_,time,
g,time,
f,time,
g,time0,
f,time0,
d,time,
c,time,
a,time,
c,time,
d,time,
c,time,
c,time0,
a,time0,
_g,time,
f,time,
g,time,
a_,time,
g,time,
f,time,
g,time0,
f,time0,
d,time1,
c,time,
a,time,
c,time,
d,time,
c,time,
c,time0,
a,time0,
g,time1,
f,time,
f,time,
g,time1,
f,time,
f,time,
g,time1,
c,time,
d,time,
g,time0,
f,time0,
c,time,
d,time,
g,time0,
f,time0,
d,time0,
d,time,
c,time3
}
;
while(music[i]!='\0')
{
if(music[i]<=494) /*判斷不是低音*/
{
milliseconds=music[i+1];

for(j=1;j<8;j++)
{
switch(j)
{
case 1: sound(a);
delay(milliseconds);break;
case 2: sound(b);
delay(milliseconds);break;
case 3: sound(c);
delay(milliseconds);break;
case 4: sound(d);
delay(milliseconds);break;
case 5: sound(e);
delay(milliseconds);break;
case 6: sound(f);delay(milliseconds);break;

case 7: sound(g);
delay(milliseconds);break;
}
nosound();
}
}
if(music[i]>494&&music[i]<988) /*判斷不是中音*/
{
milliseconds=music[i+1];
for(j=1;j<8;j++)

{
switch(j)
{
case 1: sound(_a);
delay(milliseconds);break;
case 2: sound(_b);
delay(milliseconds);break;
case 3: sound(_c);
delay(milliseconds);break;
case 4: sound(_d);
delay(milliseconds);break;
case 5: sound(_e);
delay(milliseconds);break;
case 6: sound(_f);
delay(milliseconds);break;
case 7: sound(_g);
delay(milliseconds);break;
}
nosound();
}
}
if(music[i]>988) /*判斷不是高音*/
{
milliseconds=music[i+1];
for(j=1;j<8;j++)
{
switch(j)
{
case 1: sound(a_);
delay(milliseconds);break;
case 2: sound(b_);
delay(milliseconds);break;
case 3: sound(c_);
delay(milliseconds);break;
case 4: sound(d_);
delay(milliseconds);break;
case 5: sound(e_);
delay(milliseconds);break;
case 6: sound(f_);
delay(milliseconds);break;
case 7: sound(g_);
delay(milliseconds);break;
}
nosound();
}
}
nosound();
i=i+2;
}
}

❺ 有什麼關於C語言的歌曲呢

1、告訴你最快的方法就是網路下個單片機音樂代碼生成器,然後按照《最近好嗎》《不開心與沒煩惱》《我們結婚吧》的樂譜將每一個音符輸入一遍,自動生成代碼,下載進去就可以了。
2、另外就是手動編寫了,根據對應頻率每個音符每個調對應的編碼,編好的碼放到一個數組,然後定時器產生不同的pwm驅動蜂鳴器發聲。高中低音有不同的頻率1-7個音節

❻ 怎樣用標准C語言播放音樂

用C語言播放音樂,一般需要額外的庫或者調用系統的API函數。

以Windows為例,可以通過PlaySound函數播放wav格式的音樂。示例如下:

#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragmacomment(lib,"WINMM.LIB")
intmain()
{
PlaySound(TEXT("1.wav"),0,SND_FILENAME);//1.wav是要播放的音樂文件
return0;
}

如果想播放mp3音樂可以使用如下代碼。

注意:生成程序後,請在cmd中執行此程序,不要在vc/vs的IDE中運行。

#include<windows.h>
#include<mmsystem.h>
#include<stdio.h>
#pragmacomment(lib,"Winmm.lib")
intmain(intargc,char*argv[])
{
//絕對地址形式
TCHARfileName[]="ganlusi.mp3";
TCHARshortName[MAX_PATH];
GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR));
TCHARcmd[MAX_PATH+10];
wsprintf(cmd,"play%s",shortName);
mciSendString(cmd,NULL,0,NULL);
Sleep(5*60*1000);//這里是防止一播放就結束做的延遲
return0;
}

❼ 如何用c語言編寫歌曲

我們知道,音樂是音高和音長的有序組合,設計微機音樂最重要的就是如何定義音高和音長,以及如何讓揚聲器發出指定的音符。下面給出音符與頻率的關系表。C語言提供的三個函數sound( )、nosound( )和clock( )可以很方便地解決上述的問題。sound( )函數可以用指定頻率打開PC機揚聲器直到用nosound( )函數來關閉它; clock( )函數正好用來控制發聲時間,而且它不受PC機主頻高低的影響。下面這段程序可使微機發出c調1的聲音。

音符與頻率關系表

音符 c d e f g a b
1 2 3 4 5 6 7
頻率 262 294 330 349 392 440 494

音符 c d e f g a b
1 2 3 4 5 6 7
頻率 523 587 659 698 784 880 988

音符 c d e f g a b
1 2 3 4 5 6 7
頻率 1047 1175 1319 1397 2568 1760 1976

#include<stdio.h>
#include<dos.h>
void pause(int);
void sound1(int,int);
void main(void)
{
int i,freq,speed=5;
int time=4*speed;
char *qm="iddgwwwQQgfff dddfghhhggg ddgwwwqqgfff\
ddffhjqqqqq wpggjhgddgqq hhqwwqjjjggg\
ddgwwwqqqgfff ddffhjqqqqqq";/*定義歌曲*/
while (*qm++ !='\0'){
i=1;
switch(*qm){
case 'k':
time=1*speed; i=0;
break;
case 'i':
time=6*speed; i=0;
break;
case 'o':
time=10*speed; i=0;
break;
case 'p':
pause(time); i=0;
break;
case 'a':
freq=523;
break;
case 's':
freq=587;
break;
case 'd':
freq=659;
break;
case 'f':
freq=698;
break;
case 'g':
freq=784;
break;
case 'h':
freq=880;
break;
case 'j':
freq=988;
break;
case 'z':
freq=262;
break;
case 'X':
freq=294;
break;
case 'c':
freq=330;
break;
case 'v':
freq=349;
break;
case 'b':
freq=392;
break;
case 'n':
freq=440;
break;
case 'm':
freq=494;
break;
case 'q':
freq=1047;
break;
case 'w':
freq=1175;
break;
case 'e':
freq=1319;
break;
case 'r':
freq=1397;
break;
case 't':
freq=2568;
break;
case 'y':
freq=1760;
break;
case 'u':
freq=1976;
break;
default:
i=0;
break;
}
if(i)
sound1(freq,time);
}
}
void sound1(int freq,int time) /*freq為頻率,time為持續時間*/
{
union{
long divisor;
unsigned char c[2];
}count;
unsigned char ch;
count.divisor=1193280/freq; /* 1193280 是系統時鍾速率*/
outp(67,182);
outp(66,count.c[0]);
outp(66,count.c[1]);
ch=inp(97);
outp(97,ch|3);
pause(time);
outp(97,ch);
}
void pause(int time)
{
int t1,t2;
union REGS in,out;
in.h.ah=0X2c;
int86(0X21,&in,&out); /* 取當前時間*/
t1=t2=100*out.h.dh+out.h.dl; /*out.h.dh 為秒值,out.h.dl 為1/100 秒值*/
while(t2-t1<time)
{
int86(0X21,&in,&out);
t2=100*out.h.dh+out.h.dl;
if (t2<t1)t2+=6000; /* 增加一分鍾*/
}
}

❽ 單片機蜂鳴器c語言《蘭花草》音樂代碼

程序名: MCS51U實驗板配套程序-歌曲:蘭花草
;電路介紹:蜂鳴器接P2.0;實驗前要連接J12

;***********************************************************************
OUT BIT P2.0

ORG 0
AJMP START
ORG 0BH
AJMP TIM0
START: MOV TMOD,#1
MOV IE,#10000010B
START0: MOV 30H,#0
NEXT: MOV A,30H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV R2,A
JZ END0
ANL A,#0FH
MOV R5,A
MOV A,R2
SWAP A
ANL A,#0FH
JNZ SING
CLR TR0
AJMP D1
SING: DEC A
MOV 22H,A
RL A
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
SETB TR0
D1: CALL DELAY
INC 30H
AJMP NEXT
END0: CLR TR0
AJMP START0
TIM0: PUSH ACC
PUSH PSW
MOV TL0,20H
MOV TH0,21H
CPL OUT
POP PSW
POP ACC
RETI
DELAY: MOV R7,#2
D2: MOV R4,#125
D3: MOV R3,#248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
DJNZ R5,DELAY
RET
;====================================
TABLE1: DW 64021,64103,64260,64400
DW 64524,64580,64684,64777
DW 64820,64898,64968,65030
DW 64934
TABLE: ;1
DB 42H,82H,82H,82H,84H,02H,72H
DB 62H,72H,62H,52H,48H
DB 0B2H,0B2H,0B2H,0B2H,0B4H,02H,0A2H
;2
DB 12H,0A2H,0D2H,92H,88H
DB 82H,0B2H,0B2H,0A2H,84H,02H,72H
DB 62H,72H,62H,52H,44H,02H,12H
;3
DB 12H,62H,62H,52H,44H,02H,82H
DB 72H,62H,52H,32H,48H
DB 00H

END

熱點內容
壓縮氣翻譯 發布:2025-01-11 19:42:51 瀏覽:743
安卓如何正確卡槍 發布:2025-01-11 19:29:57 瀏覽:749
米家小相機存儲卡 發布:2025-01-11 19:22:30 瀏覽:698
我的世界如何輸地圖密碼 發布:2025-01-11 19:13:21 瀏覽:225
php表單注冊 發布:2025-01-11 18:43:02 瀏覽:161
虛擬存儲功能 發布:2025-01-11 18:43:01 瀏覽:888
ninjaandroid 發布:2025-01-11 18:26:10 瀏覽:527
華為的編譯器可以用幾個軟體 發布:2025-01-11 18:18:18 瀏覽:620
python中的turtle 發布:2025-01-11 18:06:08 瀏覽:399
羅布樂思賬號密碼手機號多少 發布:2025-01-11 18:00:55 瀏覽:403