beep函式的問題,VB中Beep函式問題

時間 2021-10-14 21:55:59

1樓:水晶扇

只要你有樂譜。根據樂理,就可以走在調上。比如:

你可以寫乙個檔案,儲存你自己的聲音格式:

struct tagsound

;1。音符與頻率的關係

*****===低音部分

低1do:262

#1do#:277

低2re:294

#2re#:311

低3mi:330

低4fa:349

#4fa#:370

低5so:392

#5so#:415

低6la:440

#6la#:466

低7si:494

*****===中音部分=低音x2

中1do:523 956us fc44;

#1do#:554 902us

中2re:578 865us fc9f;

#2re#:622 803us

中3mi:659 759us fd09;

中4fa:698 716us fd34

#4fa#:740

中5so:784 638us fd82

#5so#:831

中6la:880 568us fdc8

#6la#:932

中7si:988 506us fe06

*****===高音部分=中音x2

高1do:1046

#1do#:1109

高2re:1175

#2re#:1245

高3mi:1318

高4fa:1480

#4fa#:1480

高5so:1568

#5so#:1661

高6la:1760

#6la#:1865

高7si:1976

「#」表示半音,用於上公升或下降半個音

2。頻率的產生

利用定時器來控制io口的高低變化實現

週期=1/頻率

半週期中斷產生io口電平

定時時間常數按照微控制器的方式計算

3。**節拍的產生

每個音符用1個位元組,位元組的高4位代表音符的高低,低4位代表

音符的節拍,如果 1節拍是0.4秒,則1/4拍就是0.1秒。

其他節拍為1/4拍的整數倍。

4。節拍與節拍碼對照表

節拍 節拍數 節拍數

1 1/4 1/8

2 2/4 2/8

3 3/4 3/8

4 1 1/2

5 5/4 5/8

6 6/4 6/8

8 2 1

a 10/4 5/4

c 3 12/8

f 15/4

曲調 1/4拍的延遲時間 1/8拍的延遲時間

4/4 125ms 62ms

3/4 187ms 94ms

2/4 250ms 125ms

不過,真的好不准。

這樣就可以編輯檔案了。

送你乙個函式:

void mydelay(long tt) /*暫停tt個百分之一秒*/

}這個函式可以暫停 0.01*tt 秒。

迴圈使用下面的句子:

beep(frequency,sounddelay);

mydelay(nosounddelay/10);

就可以模擬那個**了。

在c語言裡可以迴圈使用:

sound(frequency);

mydelay(sounddelay/10);

nosound();

mydelay(nosounddelay/10);

就可以了

2樓:

beep有兩個引數

第乙個控制頻率(1-32767)單位hz。

第二個控制延長 單位ms。

第乙個引數低於20你聽不到

vb中beep函式問題

3樓:

調整他的頻率

beep 1000, 150

他的響度還是有你的喇叭決定的

4樓:清山媚水

你說 beep 可以使主機發聲,主機發聲指的是不是 音效卡+音箱 發聲 ? 如果這樣,增加音量好辦,軟體(如音量滑塊)硬體(音箱音量旋鈕)都可。

使喇叭像主機一樣發聲,你指的是不是計算機箱內的小喇叭?那個聲音無法大,主機板提供的訊號很小,喇叭本身也很小,總不能加硬體電路放大吧?

vb beep 函式問題,呼叫beep函式後沒有聲音。 30

5樓:匿名使用者

private declare function beep lib "kernel32" (byval dwfreq as long, byval dwduration as long) as long

private sub command1_click()beep 800, 2000 ' 以bai80hz的頻

du率zhi

響dao

專2秒鐘

屬end sub

private sub command2_click()endend sub

6樓:匿名使用者

不用api:

private sub command1_click()beep

end sub

7樓:匿名使用者

程式沒問題,檢視你的系統音量控制,是否調到最大,或選了靜音

php,函式問題

8樓:匿名使用者

函式返回值用return, 不用echo

function total($maxinum_number)return $sum;}

9樓:兄弟連教育北京總校

先說下**為什麼這樣寫

遞迴分為二步:

1.遞推 2.回歸

遞推:遞推為正向的推導,即從前向後的分析問題,尋找遞推的條件。

1-3求和為例

sum(1) = 1 + 0

sum(2) = 2 + 1

sum(3) = 3 + 2 + 1

可發現sum(1) = 1 + 0

sum(2) = 2 + sum(2-1)

sum(3) = 3 + sum(3-1)

這樣一來把求 sum(3) 轉為求sum(2)的把求sum(2)的轉為求sum(1)

回歸自後向前再追逆一遍。論證前期推導的正確性。

經過以上分析所以得函式sum的公式為:

sum(n) = n + sum(n-1)

所以sum(n)的函式原型為:

function sum($n)

但這段**還是有問題,因為還缺少了退出條件。所以寫遞迴的時候注意了。一定要寫乙個 if 語句用來判斷遞迴何時退出。沒有退出條件的遞迴就是死迴圈。

怎麼退出呢?退出條件是什麼?這裡由於是計算1-3之和所以這個函式的成立條件為 00)

return $n + sum($n-1);

return

return $a; //這裡讓它的最後一次迴圈加了0而不是-1,我這裡執行的跟你的不一樣吧。。呵呵。。因為你的if條件是$n > 1 所在 else 裡 $n <= 1 所以你的最後加了1就退出了。。

}最後總結下執行過程

用一行表示下,也許這樣表達你能明白,這段**就相當於如下的公式。

sum(3+sum(2+sum(1)))

如果讓你去執行你會如何呢?

你會先看到外層的sum(3+當看到+號了發現後面還有乙個函式沒有求,哎算了。。。sum(3)現在求不了我把sum(2)求出來再求sum(3)吧,於

是你看sum(2

又是看到+號後面又有了乙個sum函式是求sum(1)的心想這回看你還有沒有了。。嘻嘻。。。好了sum(1)求出來了再把sum(1)的值返回再加上

2 也就是求出了sum(2),sum(2)求出來了再加上3,sum(3)也求出了最後函式執行終止。。。。

講了這麼多。。只是為了你理解的透徹些

VB提示音beep,觀於VB中beep

小小木哦 這個本來就是呼叫主機板報警音得。你應該可以想象得到,因為就算你沒有音響得時候,也是可以聽到哪個提示音,是可大可小,可是哪個根據高低位音,比較複雜,建議你用別得提示音,比如多 控制元件。觀於vb中beep 禕正誼 vb中,beep聲音與windows的自身設定有關。比如98和xp就不一樣。通...

在vb裡,我呼叫beep函式,為什麼發不出聲音啊,我是希望當文字框的輸出的數值大於某個數時就發出聲音

vb裡,不能寫成call beep 2000,3000 直接寫beep即可。if temptext.text 13 thenbeep end if 如果嫌聲音不好,想改變聲音,就得使用api了。private declare function beep lib kernel32 byval dwfr...

VB中的EXP函式

exp arg 表示自然對數 e的arg次方,e 2.71828182845905因此exp 1 就是e的一次方,以此類推exp 0 1exp 1 0.367879441171442exp 2 0.135335283236613 我是個vb初學者誰能給我解釋一下vb中的 exp,log,是幹什麼的還...