當前位置:首頁 » 編程語言 » c語言觸發音效
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言觸發音效

發布時間: 2022-04-15 03:50:28

『壹』 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語言編寫程序輸出方波信號到單片機,連接揚聲器從而產生不同簡單的音效

  1. 看看晶元有沒有支持蜂鳴器介面,有的話,直接改變寄存器就可以了

  2. 不同的音效,就是改變頻率,改變頻率,就是改變時間。

  3. 輸出腳,就用I/O口。

  4. 程序內設計一個時間中斷,如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;
}