控制PC喇叭發聲

2021-05-22 06:52:24 字數 1301 閱讀 3560

pc喇叭發聲就是需要控制硬體的聲調和延時,讓其發出對應的聲音,可用來對外界產生測試聲音源。注意:使pc喇叭發聲是繞過音效卡的,也就是說就算計算機上沒有音效卡,該操作也可完成。

(1)新建乙個mfc對話方塊,並且安置七個按鈕,分別表示聲調的7個階,每個按鈕的操作函式如下:

void cspeakerbeepdlg::onone()

void cspeakerbeepdlg::ontwo()

void cspeakerbeepdlg::onthree()

void cspeakerbeepdlg::onfour()

void cspeakerbeepdlg::onfive()

void cspeakerbeepdlg::onsix()

void cspeakerbeepdlg::onseven()

以上按鈕即可實現驅使pc喇叭發出音階的聲音

(2)如果還想利用pc小鍵盤上的數字鍵,快捷的控制pc喇叭發聲。則需要用到處理pretranslatemessage這個訊息處理。在mfc中,pretranslatemessage是虛函式,我們可以過載它來處理鍵盤和滑鼠訊息。該函式表示在訊息處理(translatemessge()和dispatchmessage()等)前所作的操作,如果函式返回值為true,那麼訊息處理即終止,不會呼叫translatemessge()和dispatchmessage()來翻譯和分發訊息給相應的視窗;若返回值為false,才會呼叫翻譯和分發訊息函式。

在類嚮導中新增這個訊息,然後開始該訊息處理。如下:

bool cspeakerbeepdlg::pretranslatemessage(msg* pmsg)

if (pmsg->message==wm_keydown && pmsg->wparam>vk_numpad2)

if (pmsg->message==wm_keydown && pmsg->wparam>vk_numpad3)

if (pmsg->message==wm_keydown && pmsg->wparam>vk_numpad4)

if (pmsg->message==wm_keydown && pmsg->wparam>vk_numpad5)

if (pmsg->message==wm_keydown && pmsg->wparam>vk_numpad6)

if (pmsg->message==wm_keydown && pmsg->wparam>vk_numpad7)

return cdialog::pretranslatemessage(pmsg);

}按不同的數字鍵,即可發出連續的音階聲,數字越大發出的音階聲越完整。

C 控制蜂鳴器發聲

1 beep的報警實現 2 呼叫microsoft.viualbase中的beep 1.先引入命名空間 using microsoft.visualbasic 2.呼叫 interaction.beep 在編譯時注意要引用microsoft.visualbasic.dll程式集,否則編譯不能通過。另...

FPGA 喇叭不同音節控制

fpga乙個引腳控制喇叭發聲 25mhz 專案一 發出乙個單音 嗶嗶 module music clk,speaker input clk output speaker 16位計數 reg 15 0 counter always posedge clk counter counter 1 計數器高位...

Shell命令控制蜂鳴器發聲

1 使用如下命令進行安裝 sudo apt get install beep 2 安裝好後,檢視幫助資訊 beep verbose debug e device device device f n l n r n d n d n s c 其中,verbose或 debug選項開啟除錯資訊輸出功能 e...