VB.NET声音播放三点要素概述

开发 后端
VB.NET声音播放的实现方法有很多种,包括使用Beep方式;用Win32 API PlaySound方式实现;以及调用媒体播放器控件来实现。

自从VB.NET推出后,其功能特点极大的吸引了广发开发人员的眼球。我们可以在实际应用中去发现其的好处。下面就先来从VB.NET声音播放来体验期功能的强大。由VB6升级为.NET后,有些人不清楚声音的处理,比如程序出错的时候,自定义一个声音播放,或者程序的背景音乐、包括游戏音乐等等。下面介绍几种在VB.NET中计较简单可以实现的方案:#t#

VB.NET声音播放1. Beep

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

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

  1. Dim I As IntegerFor I = 1 To 100 
  2. ' Loop 100 times. Beep() 
  3. ' Sound a tone.Next I  

VB.NET声音播放2. 用Win32 API PlaySound

PlaySound位于"winmm.dll"中,可以根据输入参数的不同,播放WAV类型的音乐。在VB.NET中调用跟VB6中差不多:

先声明:

 

  1. Private Declare Auto Function 
    PlaySound Lib "winmm.dll" 
    (ByVal lpszSoundName As String, 
    ByVal hModule As Integer, ByVal 
    dwFlags As Integer) As Integer
  2. Const SND_FILENAME As Integer = 
    &H20000Const 
  3. SND_ALIAS As Integer = &H10000
  4. Const SND_SYNC As Integer = &H0 

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

 

  1. Dim mstrfileName As 
    String = "c:\eagle2.wav" 
  2. PlaySound(mstrfileName, 
    0, SND_FILENAME) 

 

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

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

 

  1. PlaySound("SystemStart", 
    0, SND_ALIAS Or SND_SYNC)  
  2. ' 以同步的方式调用系统
    启动时候的声音 

 

VB.NET声音播放3. 调用媒体播放器控件

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

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

 

  1. Private Sub playMediaFile
    (ByVal mediaFileName As String)  
  2. With MediaPlayer1   
  3. .Stop()   
  4. .FileName = "c:\mp3\爱不爱我.mp3"   
  5. .Play()   
  6. End With  
  7. End Sub 

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

责任编辑:曹凯 来源: IT168
相关推荐

2010-01-11 17:30:40

VB.NET播放声音

2010-01-07 18:22:40

VB.NET声音播放

2010-01-12 16:05:46

VB.NET绘图

2010-01-13 17:55:37

VB.NET语法规则

2009-10-15 16:44:47

VB.NET Opti

2010-01-13 10:53:24

VB.NET控件

2009-10-14 16:04:43

VB.NET Noti

2009-10-13 14:38:10

VB.NET访问类型

2010-01-15 10:47:15

VB.NET命名空间

2010-01-18 10:33:28

VB.NET基本函数

2010-01-15 18:30:50

VB.NET Dlli

2011-06-14 17:14:33

SEO

2009-10-26 17:53:50

VB.NET新窗体

2009-10-14 09:29:43

VB.NET加密

2010-01-15 19:17:23

2010-01-13 11:11:42

VB.NET Date

2010-01-14 13:35:36

VB.NET特殊操作符

2010-01-18 13:46:32

VB.NET条件分支语

2010-01-20 18:14:58

VB.NET数据类型

2009-10-28 14:00:02

VB.NET文件处理
点赞
收藏

51CTO技术栈公众号