在VB应用程序中恰当的使用声音

2016-02-19 17:54 0 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的在VB应用程序中恰当的使用声音教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

众所周知,VisualBasic是功能非常强大的多媒体开发工具,它有丰富的函数和方法处理各种各样的多媒体信息,能够很灵活的操作图形、声音、动画、影象等多媒体素材。但有时我们使用VisualBasic开发非多媒体应用程序,并不需要在应用程序中大量的使用声音,而只是需要在特定的场合出现。如Windows的警告声。这就要求程序员在恰当的环境中恰当的使用声音文件,既不失去VB在多媒体方面的特长,又能够为应用程序增加吸引人的效果。VB可以用于输出声音的方法很多,归结一下,大概有以下四种:
  
  1.利用Beep语句
  这是VB系统提供的一条利用计算机扬声器发声的语句,它只能够发出简单的蜂鸣声,但在应用程序中大量用于输出警告的信息。如下例允许用户在文本框中输入数字,当用户输入错误时,系统会报警提示。
  SubText1_KeyPress(keyasciiAsInteger)
  Ifkeyascii48Orkeyascii57Then
  Beep:Beep:Beep
  keyascii=0
  EndIf
  EndSub
  
  2.其实计算机的蜂鸣器也可以发出不同频率、音高的声音,从而奏出美妙的音乐。方法是调用Windows的一些有关发声的API函数。Windows系统包含十六个声音函数,它们都存放在Windows的SOUND.DRV这个驱动程序所包含的动态连接库中。其中最常用的四个函数是OpenSound,CloseSound,SetVoiceNote,StartSound。其声明格式如下:
  DeclareFunctionOpenSoundLib"Sound"()AsInteger
  DeclareSubCloseSoundLib"Sound"()
  DeclareFunctionSetVoiceNoteLib"Sound"(ByValnVoiceAs
  Integer,ByValnValueAsInteger,ByValnLengthAsInteger,ByValnCdots
  AsInteger)AsInteger
  DeclareFunctionStartSoundLib"Sound"()AsInteger
  在VisualBasic的通用过程中声明上述函数后,就可以象使用VisualBasic自己的函数一样使用Windows的API函数。下面给出一个例子,只需要在窗体中放置7个按钮组成的控件数组,调用上述函数就可以简单的实现准确的音阶:
  SubCommand1_Click(indexAsInteger)
  a=OpenSound()
  SelectCaseindex
  Case0:f=37
  Case1:f=39
  Case2:f=41
  Case3:f=42
  Case4:f=44
  Case5:f=46
  Case6:f=48
  EndSelect
  m1=SetVoiceNote(1,f,4,0)
  m2=StartSound()
  EndSub
  
  3.VisualBasic是第一个支持对象连接与嵌入(OLE)的开发工具,利用OLE可以简单的在应用程序中插入声音文件。这也是使用VisualBasic开发多媒体软件常用的方法。使用过VB的读者都知道,VB的ToolBox中就有OLE2.0控件。当我们双击OLE2.0控件时,会弹出“InsertObject”窗口,在窗口中选择对象类型ObjectType为声音文件,选择“CreatefromFile”,指定硬盘上声音文件的位置,同时确认Link方式。这些步骤其实是在设置OLE2.0的属性。通过按F4打开Properties属性窗口,设置其中的Class、SourceDoc、SourceItem等属性也可完成这一工作。按F5运行程序,双击OLE对象时就会发声。与播放各种声音文件相关的属性为Action,通过设置Action属性可以打开、驱动、删除相应的声音对象。如下例在窗体装入时调用声音文件:
  SubForm_Load()
  ole1.Class="soundrec"
  ole1.SourceDoc="c:windowsding.wav"
  ole1.Action=1
  ole1.Action=7
  EndSub
  4.利用VisualBasic的多媒体控件MCI.VBX。
  使用MCI.VBX是VisualBasic开发多媒体软件的主要方法。利用MCI.VBX在应用程序中加入声音文件是轻而易举的事。有大量的专著介绍MCI.VBX的使用方法,这里就不在赘述。
  总的说来,以上四种方法的复杂程度依次递增,对系统的要求和消耗的系统资源也越来越大。因而,作为一个VB程序员,在应用程序中,应该能够熟练而准确的使用上述四种方法并在恰当的场合选择某一种方法,就可以为自己的程序增添效果同时并不使软件显得华而不实。->

来源:https://www.tulaoshi.com/n/20160219/1616342.html

延伸阅读
上网的朋友一定都用过网络蚂蚁(NetAnts)的吧?不知你在使用过程中有没有注意过,那就是如果你想调动两个“蚂蚁”为您效力是不可能的——它总会把新运行的关闭。而“蚂蚁”程序的妙处就在于:在重复运行“蚂蚁”时它不仅拒绝运行,而且能把已经运行的“蚂蚁”激活,这样用上面的程序就无能为力了。但事实上实现拒绝运行并激活已运行的程序有多种...
为了方便用户使用和使系统具有灵活性,大多数Win-dows应用程序将用户所做的选择以及各种变化的系统信息记录在初始化(INI)文件中。因此,当系统的环境发生变化时,可以直接修改INI文件,而无需修改程序。由此可见,INI文件对系统功能是至关重要的。本文将介绍采用VisualBasicforWindows(下称VB)开发Windows应用程序时如何读写INI文件。 ...
一、WindowsCGI ----通用网关接口CGI是服务器与应用程序之间的接口,在编写HTML文件时可结合其他程序语言使客户通过浏览器将数据输入到文件里,经服务器处理后转送给客户或记录在服务器的数据库中。任何一种程序设计语言写的程序,若可在服务器主机上运行并可用CGI接口来传递数据,就可作为CGI应用程序,这种语言可被称为CGI程序语言或脚本...
标签: vb
1.部件可在需要时加载,不需要时卸载。 2.在Win95或WinNT下,即使应用程序的其他部分为16位部件,跨进程的部件也可以是32位的执行程序。 3.远程部件可使用网络上其他机器的资源。 另外,部件可被单独调试并可在其他应用程序里重用。在确定如何使用分段技术来优化应用程序之前,必须估计到能创建的部件类型和怎样适合应用...
标签: Java JAVA基础
Java 平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它们都显示了良好的前景,并已...

经验教程

524

收藏

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