VB.NET中声音的播放

 
VB.NET中声音的播放
VB6升级为.NET 后,有些人不清楚声音的处理,比如程序出错的时候,自定义一个声音播放,或者程序的背景音乐、包括游戏音乐等等。下面介绍几种在 VB.NET 中计较简单可以实现的方案:
 
1. Beep
最简单的一种方法,通过计算机的扬声器发出声响,声响的音高与持续时间取决于硬件和系统软件,从而随计算机不同而不同。
BeepgMsgbox等方法位于Microsoft.VisualBasic.Interaction 中,一般默认系统会自动加载。调用很简单,看下面的例子。
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"中,可以根据输入参数的不同,播放WAV类型的音乐。在VB.NET中调用跟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)
 
注意上面的播放是非同步的,就是说它并不会播放完毕才结束。如果把上面的代码写在一个Button.Click的事件处理程序中,第二次点击的时候它会打断第一次的播放,重新开始。
 
当然我们也可以调用系统的声音:
PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)
' 以同步的方式调用系统启动时候的声音。
 
3. 调用媒体播放器控件
 
VB.NET中并没有提供媒体播放器的.NET组件,没办法我们还是调用以前Com组件Windows Media Player。当然除了声音外,还可以播放视频文件。
首先把媒体播放器控件加到工具栏中,调用还是简单的写一下吧:)
 
Private Sub playMediaFile(ByVal mediaFileName As String)
 With MediaPlayer1
   .Stop()
   .FileName = "c:/mp3/爱不爱我.mp3"
   .Play()
 End With
End Sub
 
总结:虽然VB.NETVB6改变了很多,包括真正的OOP,多线程等等,但是总归还是跟VB有很多联系,建议大家碰到难于解决的问题的时候,试一下以前的处理方式,一般都能奏效
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值