『壹』 c語言聲音文件播放
用C語言播放音樂,一般需要額外的庫或者調用系統的API函數。
以Windows為例,可以通過PlaySound函數播放wav格式的音樂。示例如下,代碼在vc6.0中編譯通過。
#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;
}
『貳』 在VC 里如何用c語言編程發出聲音 跪求。。
找本書看看聲音編程吧,最好的辦法是API了,要做高級編程不會API就要摸瞎了
『叄』 如何用C語言編一個發出聲音的程序
這個唱 多來米法少
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
main()
{
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
Beep(880,500);
Beep(980,500);
Beep(1060,500);
Sleep(500);
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
}
『肆』 c語言讓喇叭發出叮的聲音
#include
voidmain(void)
{
unsignedFREQUENCY[]={392,392,440,392,523,494,
392,392,440,392,587,523,
392,392,784,659,523,494,
440,698,698,659,523,587,523};
unsignedDELAY[]={375,125,500,500,500,1000,
375,125,500,500,500,1000,
375,125,500,500,500,1000,
375,125,500,500,500,1000};
intCIRCLE;
for(CIRCLE=0;CIRCLE<25;CIRCLE++)
{
sound(FREQUENCY[CIRCLE]);
delay(DELAY[CIRCLE]);
nosound();
}
}
win2k,tc3.0
『伍』 c語言怎麼實現動作和聲音同時輸出
有2種方法
一種就是你寫個函數,能將多組聲音數據壓縮組合成一組數據。
另一種方法就是像操作系統處理,多個聲音數據見不斷切換處理
『陸』 用C語言編寫程序輸出方波信號到單片機,連接揚聲器從而產生不同簡單的音效
看看晶元有沒有支持蜂鳴器介面,有的話,直接改變寄存器就可以了
不同的音效,就是改變頻率,改變頻率,就是改變時間。
輸出腳,就用I/O口。
程序內設計一個時間中斷,如40us中斷或更短。定義一個int或long的時間計數器
把這個計數器放在中斷內,計數器遞減,為0時翻轉I/O,並且重置計數器
只要將想要輸出的頻率(時間),當成計數器的重置值,就可以很容易改變計數器,輸出不同
音效。
『柒』 c語言調用聲音的函數
兩個聲音函數sound(),nosound()和延遲函數delay()由函數庫
提供。
函數名:
sound
功
能:
以指定頻率打開PC揚聲器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}
『捌』 c語言中讓電腦發出聲音的是什麼
這個函數是直接操作PC的喇叭,讓其以一定的頻率發出聲音
參數為頻率,可以這樣用 sound(100);
改變參數大小可以發出不同的音
C語言中的這個函數是不能用來播放指定的音頻文件的,如果需要,可以調用系統API函數。
『玖』 如何用C語言播放一段音頻呢
可以使用PlaySound()函數播放wav聲音,該函數原型位於windows.h中,
函數原型為:
BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);
參數pszSound是指定了要播放聲音的字元串,該參數可以是WAVE文件的名字,或是WAV資源的名字,或是內存中聲音數據的指針,或是在系統注冊表WIN.INI中定義的系統事件聲音。如果該參數為NULL則停止正在播放的聲音。
參數hmod是應用程序的實例句柄,當播放WAV資源時要用到該參數,否則它必須為NULL。
參數fdwSound是標志的組合,各種可選的標志及意義如下所示。若成功則函數返回TRUE,否則返回FALSE。
播放標志以及含義:
SND_APPLICATION
用應用程序指定的關聯來播放聲音。
SND_ALIAS
pszSound參數指定了注冊表或WIN.INI中的系統事件的別名。
SND_ALIAS_ID
pszSound參數指定了預定義的聲音標識符。
SND_ASYNC
用非同步方式播放聲音,PlaySound函數在開始播放後立即返回。
SND_FILENAME
pszSound參數指定了WAVE文件名。
SND_LOOP
重復播放聲音,必須與SND_ASYNC標志一塊使用。
SND_MEMORY
播放載入到內存中的聲音,此時pszSound是指向聲音數據的指針。
SND_NODEFAULT
不播放預設聲音,若無此標志,則PlaySound在沒找到聲音時會播放預設聲音。
SND_NOSTOP
PlaySound不打斷原來的聲音播出並立即返回FALSE。
SND_NOWAIT
如果驅動程序正忙則函數就不播放聲音並立即返回。
SND_PURGE
停止所有與調用任務有關的聲音。若參數pszSound為NULL,就停止所有的聲音,否則,停止pszSound指定的聲音。
SND_RESOURCE
pszSound參數是WAVE資源的標識符,這時要用到hmod參數。
SND_SYNC
同步播放聲音,在播放完後PlaySound函數才返回。
************************************************************
例如我想播放在C:\WINDOWS\Media目錄中的 Windows XP 啟動.wav 文件
程序如下:
#include <windows.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
PlaySound("C:\\WINDOWS\\Media\\Windows XP 啟動.wav", NULL, SND_FILENAME | SND_ASYNC);
system("pause");
return 0;
}