vb.net

位置:IT落伍者 >> vb.net >> 浏览文章

VB.NET中声音的播放


发布日期:2024年05月26日
 
VB.NET中声音的播放
由VB升级为NET后有些人不清楚声音的处理比如程序出错的时候自定义一个声音播放或者程序的背景音乐包括游戏音乐等等下面介绍几种在VBNET中计较简单可以实现的方案

. Beep

最简单的一种方法通过计算机的扬声器发出声响 声响的音高与持续时间取决于硬件和系统软件从而随计算机不同而不同

Beepg跟Msgbox等方法位于MicrosoftVisualBasicInteraction 中一般默认系统会自动加载调用很简单看下面的例子

Dim I As Integer

For I = To Loop times

Beep() Sound a tone

Next I

. 用Win API PlaySound

PlaySound位于winmmdll可以根据输入参数的不同播放WAV类型的音乐在VBNET中调用跟VB中差不多

先声明

Private Declare Auto Function PlaySound Lib winmmdll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer

Const SND_FILENAME As Integer = &H

Const SND_ALIAS As Integer = &H

Const SND_SYNC As Integer = &H

具体还有很多常量不一一列举下面是播放一个wav文件的例子

Dim mstrfileName As String = c:\eaglewav

PlaySound(mstrfileName SND_FILENAME)

注意上面的播放是非同步的就是说它并不会播放完毕才结束如果把上面的代码写在一个ButtonClick的事件处理程序中第二次点击的时候它会打断第一次的播放重新开始

当然我们也可以调用系统的声音

PlaySound(SystemStart SND_ALIAS Or SND_SYNC)

以同步的方式调用系统启动时候的声音

. 调用媒体播放器控件

VBNET中并没有提供媒体播放器的NET组件没办法我们还是调用以前Com组件Windows Media Player当然除了声音外还可以播放视频文件

首先把媒体播放器控件加到工具栏中调用还是简单的写一下吧

Private Sub playMediaFile(ByVal mediaFileName As String)

With MediaPlayer

Stop()

FileName = c:\mp\爱不爱我mp

Play()

End With

End Sub

总结虽然VBNET比VB改变了很多包括真正的OOP多线程等等但是总归还是跟VB有很多联系建议大家碰到难于解决的问题的时候试一下以前的处理方式一般都能奏效

上一篇:用VB.NET 2005编写定时关机程序[4]

下一篇:消息队列在VB.NET数据库开发中的应用