国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

VB.NET中聲音的播放 Montaque(原作)

2024-07-10 13:08:03
字體:
供稿:網(wǎng)友
vb.net中聲音的播放    montaque(原作)  

       由vb6升級為.net后,有些人不清楚聲音的處理,比如程序出錯的時候,自定義一個聲音播放,或者程序的背景音樂、包括游戲音樂等等。下面介紹幾種在vb.net中計(jì)較簡單可以實(shí)現(xiàn)的方案:

1.  beep

最簡單的一種方法,通過計(jì)算機(jī)的揚(yáng)聲器發(fā)出聲響, 聲響的音高與持續(xù)時間取決于硬件和系統(tǒng)軟件,從而隨計(jì)算機(jī)不同而不同。

beepg跟msgbox等方法位于microsoft.visualbasic.interaction 中,一般默認(rèn)系統(tǒng)會自動加載。調(diào)用很簡單,看下面的例子。

dim i as integer

for i = 1 to 100   ' loop 100 times.

     beep()      '  sound a tone.

next i

2. 用win32 api playsound

playsound位于"winmm.dll"中,可以根據(jù)輸入?yún)?shù)的不同,播放wav類型的音樂。在vb.net中調(diào)用跟vb6中差不多:

先聲明:

private declare auto function playsound lib "winmm.dll" (byval lpszsoundname as string, byval hmodule as integer, byval dwflags as integer) as integer

const snd_filename as integer = &h20000

const snd_alias as integer = &h10000

const snd_sync as integer = &h0

具體還有很多常量,不一一列舉,下面是播放一個wav文件的例子

dim mstrfilename as string = "c:/eagle2.wav"

playsound(mstrfilename, 0, snd_filename)

注意上面的播放是非同步的,就是說它并不會播放完畢才結(jié)束。如果把上面的代碼寫在一個button.click的事件處理程序中,第二次點(diǎn)擊的時候它會打斷第一次的播放,重新開始。

當(dāng)然我們也可以調(diào)用系統(tǒng)的聲音:

playsound("systemstart", 0, snd_alias or snd_sync)

' 以同步的方式調(diào)用系統(tǒng)啟動時候的聲音。

3.  調(diào)用媒體播放器控件

vb.net中并沒有提供媒體播放器的.net組件,沒辦法我們還是調(diào)用以前com組件windows media player。當(dāng)然除了聲音外,還可以播放視頻文件。

首先把媒體播放器控件加到工具欄中,調(diào)用還是簡單的寫一下吧:)

private sub playmediafile(byval mediafilename as string)

  with mediaplayer1

   .stop()

   .filename = "c:/mp3/愛不愛我.mp3"

   .play()

  end with

end sub

總結(jié):雖然vb.net比vb6改變了很多,包括真正的oop,多線程等等,但是總歸還是跟vb有很多聯(lián)系,建議大家碰到難于解決的問題的時候,試一下以前的處理方式,一般都能奏效j




發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 区。| 陵川县| 金寨县| 金山区| 崇义县| 茶陵县| 福海县| 乐至县| 安宁市| 万源市| 大安市| 拉孜县| 阿城市| 阜南县| 洪泽县| 灌阳县| 沅陵县| 永清县| 阜平县| 庆云县| 定结县| 永修县| 南投县| 石林| 石门县| 庄河市| 巴里| 台州市| 小金县| 廉江市| 天峨县| 文化| 斗六市| 临潭县| 潍坊市| 清远市| 泽州县| 汨罗市| 吴桥县| 莆田市| 莲花县|