你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Web开发
VB.NET中声音的播放
 
由VB6升级为.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 = &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.NET比VB6改变了很多,包括真正的OOP,多线程等等,但是总归还是跟VB有很多联系,建议大家碰到难于解决的问题的时候,试一下以前的处理方式,一般都能奏效
  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089