★搜Asp.net★(www.soAsp.net),为专业技术文档网站。
包括Asp.net开发技术文档·C#开发技术文档·Access/SQL Server数据库开发技术文档·VB.NET开发技术文档。
还包括·项目实战经验总结·开发经验技巧总结·项目开发心得。
用VB.NET实现播放声音
1. Beep  

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

  Beepg跟Msgbox等方法位于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 = amp;H20000
  Const SND_ALIAS As Integer = amp;H10000
  Const SND_SYNC As Integer = amp;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.NET比VB6改变了很多,包括真正的OOP,多线程等等,但是总归还是跟VB有很多联系,建议大家碰到难于解决的问题的时候,试一下以前的处理方式,一般都能奏效