本文目錄一覽:
c語言調用聲音的函數?
兩個聲音函數sound(),nosound()和延遲函數delay()由函數庫
提供。
函數名:
sound
功
能:
以指定頻率打開PC揚聲器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}
如何在C語言中加入聲音
這個不是用一句話兩句話就能說清楚的
播放*.WMA文件的程序,在播放前首先需要在硬體埠210H~260H中查找是否安裝了音效卡,然後根據是否是立體聲,採樣精度的不同來提取聲音樣本,然後通過改寫時鐘中斷並將數據輸出到音效卡數據輸出埠來播放音樂.
建議你最好看一些相關方面的書
C語言發聲函數
TC 試:
#includedos.h
#includeconio.h
#includestdlib.h
/* this founction plays sound until hit any key */
void mysound()
{
long freq ;
while(!kbhit()){/* while no keyboard hit, play sound */
for(freq=200L;freq2000L;freq+=200L){
sound(freq);/*play freq sound*/
delay(200);/*delay 200ms*/
}
}
nosound();/* stop playing */
}
void main()
{
mysound() ;
}
—————
VC++ 試:
#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);
Sleep(500);
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
}
——
wintc 試驗上兩個。
如何用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;
}
c語言中讓電腦發出聲音的是什麼
這個函數是直接操作PC的喇叭,讓其以一定的頻率發出聲音
參數為頻率,可以這樣用 sound(100);
改變參數大小可以發出不同的音
C語言中的這個函數是不能用來播放指定的音頻文件的,如果需要,可以調用系統API函數。
C 語言:能不能用C語言編寫程序來播放音頻文件?
一.在程序中直接播放聲音文件
在VC++ 中的多媒體動態連接庫中提供了一組與音頻設備有關的函數。利用這些函數可以方便地播放聲音。最簡單的播放聲音方法就是直接調用VC++中提供的聲音播放函數BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中參數lpszSound是需要播放聲音的.W***文件的路徑和文件名, hmod在這裡為NULL,fuSound是播放聲音的標誌,詳細說明請參考VC++中的幫助。 例如播放C:soundmusic.wav可以用sndPlaySound (“c:\sound\music.wav”,SND_ASYNC);或PlaySound(“c:\sound\music.wav”,NULL, SND_ASYNC|SND_NODEFAULT );如果沒有找到music.wav文件,第一種格式將播放系統默認的聲音,第二種格式不會播放系統默認的聲音。
二.將聲音文件加入到程序中
在VC++的程序設計中,可以利用各種標準的資源,如點陣圖,菜單,對話框等。同時VC++也允許用戶自定義資源,因此我們可以將聲音文件作為用戶自定義資源加入程序資源文件中,經過編譯連接生成EXE文件,實現無.W***文件的聲音播放。要實現作為資源的聲音文件的播放,首先要在資源管理器中加入待播放的聲音文件。
具體步驟入下:
1.獲得包含資源的模塊句柄:
HMODULE hmod=AfxGetResourceHandle();
2.檢索資源塊信息:
HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T(“W***E”));
3. 裝載資源數據並加鎖:
HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);
LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);
4.播放聲音文件:
sndPlaySound(lpMemSound,SND_MEMORY));
5.釋放資源句柄:
FreeResource(hGlobalMem);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232198.html