如何用VB程序来播放WAV文件

程序

Wednesday, September 24 2003 1:24 PM 当一定事件完成时,程序发出特定的信号则可以增加程序的用户界面特性,比如在下载完成或者选择一个命令的时候。使用一个多媒体功能,通过一个VB程序来运行WAV文件是一件轻而易举的事情。然而,系统必须为这一操作而安装一个声卡。

  你所需要的API函数称为PlaySound,以下为该函数的声明:

  Public Declare Function PlaySound Lib "winmm.dll" _
  Alias "PlaySoundA" (ByVallpszName As String, _
  ByValhModule As Long, ByValdwFlags As Long) _
  As Long

  在这一函数中,第一个变量是名称,包括运行的Wave文件的路径。第二个变量在运行文件时通常不使用,所以你可以将它赋值为zero。最后一个变量包含控制函数如何工作的标记。

  为了当前的需要,必须需要两个标记。它们是:

  SND_ASYNC (value= 1):以异步方式运行,这意味着当播放声音时函数在运行。
  SND_FILENAME (value = &H20000):第一个变量为一个文件名。
  所以,以下代码播放了DingDong.wav文件中的声音:

  PlaySound "dingdong.wav", CLng(0), _
  SND_ASYNC Or SND_FILENAME

  当运行在一个程序中运行音频文件时,还有其他两点值得注意。第一,你必须确保一个特定的音频文件存在,否则会产生错误。这一过程可以用以下一个简单的函数来完成:

  Public Function FileExists(FullFileName) As Boolean

  ' Passed a filename (with path) returns
  ' True if the file exists, False if not.

  Dim s

  s = dir(FullFileName)
   
  If s = "" Then
   FileExists = False
  Else
  FileExists = True
  End If

  End Function

第二,程序必须具有为用户提供关闭声音的选择设置。这一过程可以通过使用一个比如gProgramSoundsEnabled的全局布尔变量来实现。

  我的方法是在一个函数中同时处理这些需要,如下所示。(以下代码假设音频文件已经存放在程序文件中)

  Private Sub PlaySoundX(filename As String)

  ' If sound is enabled and filename exists,
  ' play the specified sound.

  filename = App.path & "\" & filename

  If FileExists(filename) And gProgramSoundsEnabled Then
   PlaySound filename, CLng(0), SND_ASYNC Or SND_FILENAME
  End If

  End Sub

  正确使用这些函数,程序就可以播放任何Wave文件,如下所示:

  PlaySoundX "DingDong.wav"

  从VB程序播放音频文件的其他方法包括窗体上的多媒体控制。当你不需要这些控制特性时,以上讲述的技术已经足够,并且很容易掌握。

时间: 2024-08-04 05:07:29

如何用VB程序来播放WAV文件的相关文章

python使用wxPython打开并播放wav文件的方法

  python使用wxPython打开并播放wav文件的方法         这篇文章主要介绍了python使用wxPython打开并播放wav文件的方法,涉及Python操作音频文件的相关技巧,需要的朋友可以参考下 本文实例讲述了python使用wxPython打开并播放wav文件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

js播放wav文件(源码)_javascript技巧

用js播放.wav文件 复制代码 代码如下: <html> <head> <script language="javascript"> function playSound(id) { var node=document.getElementById(id); if(node!=null) { node.Play(); } } </script> </head> <body> <embed name=&quo

java 音频播放-java application 播放wav文件为什么出来的都是噪音,怎么处理呢

问题描述 java application 播放wav文件为什么出来的都是噪音,怎么处理呢 package shanyi; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.*; import sun.audio.*; public class Mysound{ public Mysound(){ t

提问如何用vb.net实现将excel文件导入oracle数据库

问题描述 提问如何用vb.net实现将excel文件导入oracle数据库,或者是csv文件也可以需要新建一个表,将文本中的内容导入这个表,需要有框架,大体就是选择一个文件,导入就可以 解决方案 解决方案二:Refertothreadfollowshttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=150437&SiteID=1DimMyCommandAsSystem.Data.OleDb.OleDbDataAdapterDimMyConn

C# SoundPlayer无法播放wav文件

问题描述 使用SoundPlayer在winform下能正常播放WAV文件,但是把相同代码在C#做的Windows服务中就无法播放wav文件,请问是什么原因?微软BUG吗?SoundPlayerplayer=newSoundPlayer(@"d:1.wav");player.Play(); 解决方案 解决方案二:有没有哪位知道的?

python使用wxPython打开并播放wav文件的方法_python

本文实例讲述了python使用wxPython打开并播放wav文件的方法.分享给大家供大家参考.具体实现方法如下: ''' wx_lib_filebrowsebutton_sound.py select a sound file and play it wx.lib.filebrowsebutton.FileBrowseButton(parent, labelText, fileMask) (combines wx.TextCtrl and wxFileDialog widgets) wx.So

python 播放 wav 文件

未使用其他库, 只是使用 pywin32 调用系统底层 API 播放 wav 文件. # Our raison d'etre - playing sounds import pywintypes import struct import win32event import win32com.directsound.directsound as ds import os WAV_HEADER_SIZE = struct.calcsize('<4sl4s4slhhllhh4sl') def wav_

用Api函数播放wav文件

这个是一段例程,希望能对你有帮助[DllImport("Winmm")]public static extern bool PlaySound(string pszSound, IntPtr hmod, UInt32 fdwSound);private const Int32 SND_ASYNC = 1;private const Int32 SND_LOOP = 8;private const Int32 SND_FILENAME = 131072;private void Play

如何播放大型WAV文件

平时,你在多媒体软件的设计中是怎样处理声音文件的呢?使用Windows 提供的API函数 sndPlaySound来实现WAV文件的播放?但是,你有没有遇到过这种情况呢:当WAV文件大于可用内存时,sndPlaySound 函数就不能进行播放!!!那么,如何利用MCI播放大型音频文件呢? 本文将介绍一种方法. Windows支持两种RIFF(resource interchange file format,"资源交互文件格式")音 频文件:MIDI的RMID文件和波形音频文件格式WAV