说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

播放声音文件 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
播放声音文件 -VB资料

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

播 放 声 音 文 件

---- 在Microsoft Visual Basic 中 进 行 多 媒 体 音 乐 的 播 放 是 一 件
非 常 轻 松 的 事 情。 在Microsoft Windows 系 统 中 支 持 的 声 音 文 件
有WAV 文 件 和MIDI 文 件, 通 常 使 用Windows 应 用 程 序 编 程 接 口(
API) 函 数mciExecute 函 数 可 以 对MIDI 文 件 进 行 播 放。 而 使 用API
函 数sndPlaySound 则 可 以 对WAV 播 放 文 件 进 行 播 放, 当 然, 你 也
可 以 使 用mciExecute 函 数 来 播 放WAV 文 件。

---- 为 了 播 放WAV 文 件, 你 需 要 在 你 的 程 序 窗 体 的 通 用 声 明
部 分 中, 或 是 标 准 模 块 中 添 加 如 下 的 声 明 语 句:

---- Private Declare Function sndPlaySound Lib "winmm.dll" Alias "
sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags 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_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

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

---- SND_SYNC 播 放WAV 文 件, 播 放 完 毕 后 将 控 制 转 移 回 你 的 应
用 程 序 中。
---- SND_ASYNC 播 放WAV 文 件, 然 后 将 控 制 立 即 转 移 回 你 的 应
用 程 序 中, 而 不 管 对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" (ByVal lpstrCommand As String) As Long

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

---- Dim ReturnValue As Long
---- ReturnSoundValue = mciExecute("play C:\WIN95\MEDIA\CANYON.MID")

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

---- Dim ReturnValue As Long
---- ReturnSoundValue = mciExecute("play C:\WIN95\MEDIA\CANYON.MID from
10 to 100")
---- mciExecute 函 数 也 可 以 用 来 对WAV 文 件 进 行 播 放, 方 法 同
播 放MIDI 一 样。

样 例 程 序

---- 1. 在Visual Basic 中 开 始 一 个 新 的 项 目, 采 用 缺 省 的 方 法
建 立Form1。
---- 2. 将 如 下 的 声 明 语 句 添 加 到Form1 的 通 常 声 明 部 分 中(
注 意 每 个 声 明 语 句 需 要 被 书 写 在 一 行 内):

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

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

---- 4. 在Form1 上 添 加 一 个 命 令 按 钮 控 件, 采 用 缺 省 的 方 法
建 立Command1。 将 它 的Caption 属 性 设 置 为" 使 用sndPlaySound 函 数
敗*

---- 5. 在Form1 上 添 加 一 个 命 令 按 钮 控 件, 采 用 缺 省 的 方 法
建 立Command2。 将 它 的Caption 属 性 设 置 为" 使 用mciExecute 函 数敗*

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


Private Sub Command1_Click()
Dim ReturnValue As Long
Text1.Text = " 使 用sndPlaySound 函 数 播 放TADA.WAV 文 件。"
ReturnValue = sndPlaySound("C:\WIN95\MEDIA\TADA.WAV", SND_SYNC)
End Sub


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


Private Sub Command2_Click()
Dim ReturnValue As Long
Text1.Text = " 使 用mciExecute 函 数 播 放Canyon.mid 文 件。"
ReturnSoundValue = mciExecute
("play C:\WIN95\MEDIA\CANYON.MID from 10 to 100")
End Sub


---- 通 过 按 下F5 键 来 执 行 样 例 程 序。 单 击" 使 用sndPlaySound 函
数" 命 令 按 钮 则 使 用sndPlaySound 函 数 来 播 放C:\WIN95\MEDIA 目 录
下 面 的TADA.WAV 声 音 文 件。 单 击" 使 用mciExecute 函 数" 则 使 用
mciExecute 函 数 来 播 放C:\WIN95\MEDIA 目 录 下 面 的CANYON.MID 文 件
的10 毫 秒 到100 毫 秒 的 部 分。


探索游戏开发面临的技术挑战——MDCC 2015游戏开发专场议程曝光 【SDCC讲师专访】易开发创始人潘俊勇:这些年我遇到的那些坑 【CTO讲堂】OpenStack行业实践和发展趋势探讨 万物互联,移动为先:MDCC 2015移动开发者大会盛大开幕! 【MDCC 2015】微软开发体验与平台事业合作部大中华区DX部门总经理Srikanth Raju:物联之上云+端 英雄会晚宴,Top开发者共聚“华山之巅” 【MDCC 2015】产品与设计专场(上):百度研究院、印象笔记等专家齐聚,以实例探讨如何打造好产品 【MDCC 2015】产品与设计专场(下):网易云音乐、在行、三节课、去哪儿网、野兽骑行大咖的产品之路 友盟:把数据用活 让开发者享受大数据红利 友盟:用活大数据 让精细化运营为移动开发者服务 携手世纪互联 IBM Bluemix云平台落地中国 【MDCC 2015】IoT峰会—硬件开发与技术专场(下):专家齐聚,共同打造联网新时代 【MDCC 2015】虚拟现实专场(下):虚拟现实的“困”与“竞” 【CTO讲堂】面对世界竞争对手,如何拿到Google PDF开源项目PDFium? 提升网站性能开发的10个技巧 SDCC 2015:顶尖技术精英云集 大会日程及首批讲师议题公布 《近匠》专访猿团创始人CEO谢恩明:梦想、未来、改变 《近匠》专访小熊尼奥:从软硬结合到IP合作,AR产品的机遇 W3C启动Web支付标准工作,推进在线结算流程 W3C中国区会员沙龙在京召开 W3C CEO Jeff分享W3C未来发展重点 【SDCC讲师专访】车轮互联总架构师韩天峰:PHP是最好的编程语言 SDCC 2015讲师专访精彩集锦(一):你想知道的,都在这! (入门篇)带你走进Erlang 【大神来了】Elixir语言设计者José Valim:释放Erlang VM的能量 【SDCC 2015讲师专访】刘小溪:Vert.x3的异步框架实战 【CTO讲堂】支付接入开发的陷阱有多深? 程序员界“香饽饽”、大神级别人物集体亮相——SDCC 2015编程语言专场议题曝光 【CTO沙龙】CDN在共享经济下的创新应用 深入浅出Fetch API 带你入解应用场景及适用问题 SDCC 2015讲师专访精彩集锦(二):途牛网、饿了么、快的等大牛都来了 百度、饿了么、美团专家齐聚SDCC2015,剖析前端开发核心技术 特惠虚拟主机:dtp.51.net! 想把一系统内存块拷贝到位于D3DPOOL_DEFAULT的Surface中,怎样做更快?谈谈你的经验吧 在msdn中我看了一下午关于枚举的可就是不明白他到底在什么情况或者处理什么情况的时候用? All-in-Wonder Radeon 是不是不支持 Real Producer???? 用ACCESS设计了一个报表,在VB中如何调用? 支持ASP、PHP高迅特价主机:(推荐)dtp.51.net 套接字问题再次提问 C#参考文档要的举手啊! 怎样做服务程序? (在系统后台运行) TComboBox的text能否设为只读? 站点属性中“应用程序保护”有三个选项,分别是---低,中,高。有什么区别吗?安全性有什么不同?为什么有的isapi程序必须设置成低才能正确执行啊? 怎样才能使Web页上的ACTIVEX控件自动下载注册? ADO 与 DATA MODUAL 怎样判断一个文本文件中的数据。 绝对的诚意邀请高手加盟 请问邮件服务器,如何用java实现,最好有源代码,谢谢了,急 急贴:>>>>>>>>>>>>>>>>>>>>>>>>>>这里有英语好的网络专家吗? 关于java中的画矩形 哪里有将股票数据转换成数据库格式的工具? 从哪里能找到用opengl绘制三维图形的源码?基于unix下的。 asp 怎么判断客户端的操作系统还有屏幕大小什么的? 卡在了一个错误里出不来,求救! 谁知道??????求救~~~~用asp操作注册表,从注册表中删除指定的主键! 何处能找到用opengl绘制三维图形的源码?基于unix下的 谁有多种字符窜转换的方法或代码呀? 用JBuilder5做的数据库应用程序怎么打包? 我的机器上没有装outlook,当我点击mailto时,就直接链接到hotmail的邮箱,怎么回事那 请问我在一个窗体里拖动了十几个ADODC控件,启动时很慢请问我该怎么样 怎样调整图片适应"picturebox"大小 请问那位大哥有求切线的C程序。 关于赵薇着装的讨论可以停止了 怎样远程连接安装在Linux 上的Mysql数据库? 谁能帮我解压缩从huizen.dds.nl/~roalt/h263.html下载的 H263软件 真诚的希望你加入振兴软件产业的 事业中来 两个函数之间变量可以共享吗 拷贝ACCESS 库 请教高手(关于数据结构)的一个问题 关于Rundll32.exe程序的问题 播放AVI动画的问题 c#和asp.net有什么关系? 串口打不开怎么办? 请问各位大虾,怎样在java里打开一个IE窗口。 网络问题! 我的浏览器怎么了? 在局域网中,如何在代理服务上作手脚,使处同一局域网某些人可以上网,某些人不能上网。各位帮忙! 如何制作安装盘,我的做好了,为什么到别的机器上安装不能运行 急急急·高手帮忙,在Java中引用C++的动态链接库,中文字符串参数变成乱码,怎么办? 有前锁问题 找个扫雷源程序! 发送邮件时,对现在大部网站要求的smtp认证,如何处理?急用! 连接的ACESS数据库可以是EXCEL的链接表吗? 谁知道铝包钢芯铝绞线的比重啊 什么是X射线辐射 机械加工零件怎么估价,就是拿到一份零件图纸,要怎么知道是用哪种加工工艺,需要加工多少时间? 铝窗材料比重? 被X光长期辐射会怎么样我在钢铁厂上班,图上的机器是用X光来检测钢板厚度,我工作的是检查钢板质量,距离这机器有两米的距离,但是我常常要很靠近,0.5米左右,基本上8小时上班,我在1.5米内的 机械加工工艺基础1.车削加工中粗加工切削用量选择的原则.2.被加工零件为有色金属材料,加工方案有两种:一、钻—扩-粗铰 二、钻-粗镗-粗磨哪个方案合理可行,为什么?3.试对零件结构设计 什么叫做增益?怎样对美泰全数字式超声波探伤仪进行增益调节? X射线探伤仪不拍照的时候有没有辐射 机械加工工艺应注意什么? PXUT-320C型全数字智能超声波探伤仪和RQ-2200型数字超声波探伤仪相比哪个牌子好呀 万能外圆磨床精度要求请问万能外圆磨床大修后的国家精度要求是多少?还有就是,现在磨床出现磨300mm长的产品出现误差达到0.01mm.从复精度误差精度比较大?请问这是哪里出的问题?因该如何处 电镀镍表面未电镀完全我想问一下,电镀镍的时候,样品表面经过了多次除油等表面处理,可是电镀过程中出现跟地图一样的,只有少数地方电镀上了,经过好几个小时了,其他的地方才逐渐电镀上. 不锈钢奶锅内外都烧成变彩色了,怎么清洗?如果好的话, 万能外圆磨床和普通外圆磨床的区别有哪些? 请问电镀镍的时候,电镀时间比标准时间缩短,而电流变大,会对产品有什么影响?电镀厚度,是否会有差异,外观和性能会不会有影响? 不锈钢锅被油烧的变黑了怎么办不锈钢锅放油后烧着了 锅整个变黑了 用盐 用洗洁精都洗不掉 还有不好的味道 外圆磨床与无心外圆磨床的区别? 为什么在太阳下闭上眼,能看到各种颜色?睁开眼后为什么一切都瞬时变黑白色? 不锈钢锅为什么烧了几次锅底变彩色,有毒吗 光盘反射层脱落怎么修补?我又一张重要的光盘,盘面没有丝毫划伤,但是光盘反射层又一小块脱落,所以导致无法正常读取,怎么修补?又反射涂层油漆可以涂吗? 将以光碟放在阳光下,有何发现?描述你所观察到的现象. X射线荧光光谱仪 检测标准作为生产用设备,到计量院去检测时,计量院采用什么标准?或者说有哪个标准明确规定了该仪器的检测周期? 超声波探伤仪能探出来的裂纹最小尺度是多少 光盘的反射层有害吗 如何分辨铁.铝.不锈钢没有对比物 2.经超声波探伤仪检测,刚竣工的三峡大坝坝体无一结构性裂缝,创造了人类水利建筑史上的奇迹.探伤仪发出 管道2级探伤【X光探伤】那些缺陷不合格 不锈钢弹簧怎么会变黄供应的不锈钢弹簧在存放了一段时间后逐步开始发黄,而且比例越来越大, 铁的比重 为什么不可以用X光的底片来看用多层可以吗 我的不锈钢水壶瓶口是黄色的,是什么金属 各种颜色反射吸收阳光的例子比如冬天穿衣穿深色,夏天穿浅色:南方房屋漆浅色,北方漆深色;装油用的船船身漆白色;在雪上铺煤灰.除了这些,还有什么关于颜色反射与吸收阳光的例子? 我老公是干x射线无损检测的,请问他不接触多久才能要孩子?如果不小有了孩子.请问至少他不接触射线多少天的孩子才能要.对孩子有什么影响? 超声波探伤仪抑制按钮的作用是什么 科学好的来!我们说物体是因为反射可见光所以呈现各种颜色,但是在晚上,物体还是呈现各种...科学好的来!我们说物体是因为反射可见光所以呈现各种颜色,但是在晚上,物体还是呈现各种颜色, 什么是点焊焊接?什么是电阻焊焊接?什么是激光焊接? 汕头22B模拟超声波探伤仪怎么用,怎么调节那些旋钮? 因为物体反射光,所以我们看到各种颜色,也就是说,物体是因为能反射某种颜色的光我们才看到五彩缤纷的世界,那么我们物体就是没有色彩的了? 粗糙度是否会影响焊接质量 铝钛合金比重 我前几天被射线辐射到了,无损探伤的当时探伤的管道厚度是18mm,被近距离,大约半米,照射五分钟...我前几天被射线辐射到了,无损探伤的当时探伤的管道厚度是18mm,被近距离,大约半米,照射五分 判断:物体的颜色是由他所反射光的颜色决定的( ) 铝原材料的比重 B超向人体发射——,同时接受体内脏器的——超声探伤对人体——伤害 苏州激光焊氩孤焊接加工 6063变形铝的比重是多少 无损检测射线照片的辐射对身体有多大伤害(没有在安全距离)会有什么后遗症吗 为什么不同的物体反射不同的光?形成不同的颜色.跟物质本身的性质有关吗?跟那一种性质有关? 1060纯铝比重是多少 物体是白色的,是因为反射各种光线,物体是黑色的,是因为吸收各种光线,那酒精是无色的是因为什么? 物体的颜色是由它所反射光的颜色决定的对不对 高锰酸钾滴在不锈钢水盆里了,变铜色了,如何让不锈钢变会原样? 为什么白色反射所有光,黑色吸收所有光. 光照在红色物体表面,反射光的颜色是什么色? 怎样给不锈钢涂上铜色 白色光照在黑色的物体上,反射回来的光是什么颜色的 机械加工工艺中零件的几何误差都包括哪些? 不锈钢壶外面烧得变成了铜色有点发红,底座烧黑了,怎样才能恢复原样? 被X光辐射了怎么办?我老公周一上班的时候,被附件的X光辐射了,据说单位几十人都被辐射了,现在要求索赔,怎样的索赔方案才好呢?还有是现在去做检查还是等一个月以后去检查呢? 寻汽车橡胶配件加工技术及设备
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn