动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   网页设计 → 阅读文章

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

作者:无从考证 来源:转载 
阅读 2500 人次 , 2006-2-15 14:35:00 

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程序播放音频文件的其他方法包括窗体上的多媒体控制。当你不需要这些控制特性时,以上讲述的技术已经足够,并且很容易掌握。   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:VC++学习经验:谈编程本质
· 下一篇:ASP、JSP、PHP 三种技术比较
· 基本配色——堂皇
· 实用HTML文件的增强标记
· 按形容词分类:简单、进步、时尚
· Web网页配色方案及安全色谱
· JavaScript 小技巧(第四集)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077