vb实现播放声音文件

2016-02-19 14:53 85 1 收藏

今天图老师小编给大家展示的是vb实现播放声音文件,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

  在某些情况下,例如编写游戏,或将要进行一项非常冗长的过程, 可以通过播放音乐来增加游戏的声光效果或是减少漫长的等待所带来 的困倦。本文介绍如何在Visual Basic 中播放声音文件。

  在Windows系统中支持的声音文件有WAV文件和MIDI文件,通常使 用Windows应用程序编程接口(API)函数可以对MIDI文件进行播放;而 使用API函数sndPlaySound则可以对WAV 播放文件进行播放,当然,也 可以使用nciExecute函数来播放WAV文件。播放WAV文件

  需要在程序窗体的通用声明部分中或标准模块中添加如下声明语 句:

  Private Declare Function sndPlaySound Lib "winmm.dll" Al ias"sndPlaySound A"((ByVal lpszSound Name As String,ByVal uF lags As Long)As Long

  然后添回如下标准识常量:

  

  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_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

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

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

  ?SND_ASYNC播放WAV文件,然后将控制立即转移回应用程序中。

  ?SND_NODEFAULT不要播放缺省的WAV文件,以免发生某些意外的 错误。

  ?SND_MEMORY播放以前已经加载到内存中的WAV文件。

  ?SND_LOOP循环播放WAV文件。

  ?SND_NOSTOP在开始播放其它的WAV文件之前,需要完成对本WAV 文件的播放。

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

  播放MIDI文件

  需要在程? 体的通用声明部分中或标准模块中添加如下声明语 句:

  Private Declare Function mciExecute Lib"winmm.dll"Alias" mciExecute"(ByVa l lpstrComman As String)As Long

  mciExecute函数只需要一个参数CommandString,顾名思义,它是 一个命令字符串,用于表明对声音文件播放的命令,例如,希望完整播 放声音文件,则该字符串就是字符串"pl ay"加上声音文件的路径以及 文件名称,如下所示:

  Dim Return Vsalue As Long

  ReturnSoundValue=mciEecute("play C:WIN95MEDIACAYON.MI D/")

  如果希望对声音文件的部分进行播放,可以使用fromto语句 格式,例如若要 播放CANYON.MID文件的10毫秒到100毫秒的部分,可以 使用如下的语句:

  Dim Return Value As Long

  RetumSoundValue=mciExecute("play C:WIND95MEDIA/CASNYON .MID from10 to 100")

  micExecute函数也可以用来对WAV文件进行播放,方法同播放MIDI 一样。

  样例程序

  1.在Visual Basic中开始一个新的项目,采用缺省的方法建立For m1。

  2.将如下声明语句添加到Form1的通常声明部分中(注意每个声明 语句需要书写在一行内):

  

Private Declare Function sndPlaySound Lib"winmm.dll"Alia s"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"(ByVa l lpstrCommand As String)As Long

  3.在Forml上添加一个文本框控件,采用缺省的方法建立TexT1。 将其Caption属性设置为NULL。

  4.在Form1上添加一个命令按钮控件,采用缺省的方法建立Comman d1。将其Caption属性设置为"使用mciExecute函数"。

  5.在Form1上添加一个命令按钮控件,采用缺省的方法建立Comman d2。将其Cpaption 属性设置为"使用mciExecute函数"。

  6.将如下代码添加到Command1的单击事件中:

  Private Sub Command1_Click()

  Dim Return Value As Long

  Text1.Test="使用sndPlaySound函数播放Canyon.mid文件Return Value=sanPlaySou nd("C:WIN95WEDIATADA.WAV",SND_SYNC)

  End Sub

  7.将如下代码添加到Command2的单击事件中:

  Private Sub Command2_Click()

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  Dim Return Value As Long

  Text1.Test="使用sndPlaySound函数播放Canyon.mid文件。"

  ReturnSoundValue=mciExdecute"play C:WIN95MEDACNYON.MI D from 10to 100"

  EndSub

  按下F5键来执行样例程序。单击"使用sndPlaySound函数"命令按 钮,则使用sndPlay Sound函数来播放C:WIN95MEDIA目录下的TADA.W AV声音文件。音击"使用mciExe cute函数来播放C:MIN95MED IA目录下CANYON.MID文件的10毫秒到100毫秒的部分。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1608231.html

延伸阅读
AVI文件是语音和影像同步组合在一起的文件格式。在VB50中用MMControl多媒体控件设计播放AVI文件的程序步骤如下: 1新建一个工程。 2在Form1上建立一个MMControl控件,并建立一个图片框。 3设定MMControl对象的按钮属性。 4撰写程序如下: PrivateSubForm_Load() MMControl1.DeviceType=″avivideo″ MMCo...
喜马拉雅怎么上传声音文件   喜马拉雅是一款非常好用的电台类软件,你不仅可以在喜马拉雅收听自己喜欢的电台,也可以上传自己录制的电台文件,喜马拉雅怎么上传声音文件,下面小编就给大家带来喜马拉雅发表录音教程。 打开喜马拉雅app 注册账号步骤这里省去。登录后,进入我选项卡。 点击录音,进入录音界面。中...
VB提供的方法使我们可以很容易地使用资源文件中的字符、图片等资源。我们可以用以下方法播放资源文件中的wav声音:首先,在你的资源文件的源文件(RC)文件加入下面一行: MySoundWAVEc:musicvanhalen.wav 然后将其编译为RES文件。最后使用下面的声明及代码: PrivateDeclareFunctionPlaySoundLib_"winmm.dll"Alias"PlaySoundA"(...
一、前言 当前Visual C++相关的编程资料中,无论是大部头的参考书,还是一些计算机杂志,对声音文件的处理都是泛泛的涉及一下,许多编程爱好者都感到对该部分的内容了解不是很透彻,本文希望能够给刚刚涉及到声音处理领域的朋友们起到一个引路的作用,帮助他们尽快进入声音处理的更深奥空间。 当前计算机系统处理声音文件有两种办法:一是使...
标签: Web开发
一、前面的些唠叨 在我浮生如梦的大学那会儿,貌似flash网站还有点小火,且大凡有点含量的flash站点上,杂七杂八的音效总是少不了。一部分音效是烘托渲染气氛的背景音乐,另外一部分就是促进互动,增强体验的交互声音,例如按钮按下或者是经过时哔哔声或是叭叭声。而在那个时候,在远离flash的web页面上鲜有声音的交互,即使有,要想实现兼容性...

经验教程

435

收藏

25
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部