• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

VB开发中背景音乐的制作

发布: 2007-7-14 20:28 | 作者: 佚名    | 来源: 网络转载     | 查看: 67次 | 进入软件测试论坛讨论

领测软件测试网 武正伦

  背景音乐不仅在软件中起到“声”、“文”并茂的效果,而且能使用户减少在漫长的计算、等待过程中所带来的困倦和烦躁情绪,我们将通过用Microsoft Visual Basic开发为例,来讲解背景音乐在软件中的应用。

  使用Microsoft Visual Basic进行多媒体音乐的播放是一件非常容易的事情。Microsoft Windows系统中支持两种声音文件:WAV格式文件和MIDI格式文件,一般使用API(Window  
s应用程序编程接口)函数sndPlaySound播放WAV格式文件,使用mciExecute函数来播放MIDI文件。

  1、播放WAV格式文件

  要播放WAV格式文件,你必须在程序窗口的通用声明部分或标准模块中添加如下的声明:

  Public Const SND_SYNC = &&H0

  Public Const SND_ASYNC = &&H1

  Public Const SND_NODEFAULT = &&H2

  Public Const SND_MEMORY = &&H4

  Public Const SND_ALIAS = &&H10000

  Public Const SND_FILENAME = &&H20000

  Public Const SND_RESOURCE = &&H40004

  Public Const SND_ALIAS_ID = &&H110000

  Public Const SND_ALIAS_START = 0

  Public Const SND_LOOP = &&H8

  Public Const SND_NOSTOP = &&H10

  Public Const SND_VALID = &&H1F

  Public Const SND_NOWAIT = &&H2000

  Public Const SND_VALIDFLAGS = &&H17201F

  Public Const SND_RESERVED = &&HFF000000

  Public Const SND_TYPE_MASK = &&H170007

  Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

  sndPlaySound函数需要两个参数:第一个参数soundfilename是要播放的WAV文件的名称;第二个参数是一个表明播放方式的标识常量,其定义的值如前面的声明所示,通常所使用的标识意义如下:

  SND_SYNC播放WAV格式文件,播放完毕后将控制转移回应用中。

  SND_ASYNC播放WAV格式文件,将控制立即转移回应用程序中,而不管对WAV文件的播放是否结束。

  SND_MEMORY用于播放以前已经加载到内存中的WAV格式文件。

  SND_LOOP循环播放WAV格式文件。

  注意:SND_LOOP标识通常需要同SND_ASYNC共同使用,也即在两个标识之间添加“与”播放符,以免在对WAV格式文件进行播放的时候将系统挂起。

  2、播放MIDI格式文件

  播放MIDI格式文件时,你必须在程序窗口的通用声明部分中或标准模块中添加如下的声明语句:

  Private Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" (ByVal lpstrCommand As String) As Long

  API函数mciExecute只有一个参数:CommandString,它是一个命令字符串,用于表明对声音文件播放的命令,例如,要完整播放声音文件“C:WindowsMediaCanyon.mid”,只需要用以下一些语句即可实现:

  Dim ReturnValue As Long

  ReturnSoundValue = mciExecute("play C:WindowsMediaCanyon.mid")

  如果只播放MIDI格式文件的部分,就可以使用from...to...这种语句格式,例如:需要播放CANYON.MID文件的20毫秒到500毫秒的部分,可以使用如下的语句:

  Dim ReturnValue As Long

  ReturnSoundValue = mciExecute("play C: WINDOWS MEDIACANYON.MID from 20 to 500")

  使用API函数mciExecute也可以用来对WAV格式文件进行播放,方法同播放MIDI基本一样。现举列如下:

  1、在Visual Basic应用窗体中加入以下声明:

  Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

  Const SND_SYNC = &&H0

  Const SND_ASYNC = &&H1

  Const SND_NODEFAULT = &&H2

  Const SND_MEMORY = &&H4

  Const SND_ALIAS = &&H10000

  Const SND_FILENAME = &&H20000

  Const SND_RESOURCE = &&H40004

  Const SND_ALIAS_ID = &&H110000

  Const SND_ALIAS_START = 0

  Const SND_LOOP = &&H8

  Const SND_NOSTOP = &&H10

  Const SND_VALID = &&H1F

  Const SND_NOWAIT = &&H2000

  Const SND_VALIDFLAGS = &&H17201F

  Const SND_RESERVED = &&HFF000000

  Const SND_TYPE_MASK = &&H170007

  Private Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" (ByVal lpstrCommand As String) As Long

  2、在窗中激活事件中加入以下代码:

  Private Sub Form_Activate()

  Dim ReturnValue As Long

  ReturnValue = sndPlaySound("C:windowsMEDIATADA.WAV",SND_SYNC)End Sub

  通过(F5)键来运行该程度即可听到背景音乐。 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网