王朝网络
分享
 
 
 

VB利用高级音频函数编写多媒体播放器

王朝厨房·作者佚名  2007-01-04
宽屏版  字体: |||超大  

作者:刘明

现在使用VB编程的朋友越来越多了.但是如何使用VB来编写播放多媒体文件的播放器呢?本篇将详细的介绍如何利用高级音频函数编写媒体播放器!

内容提要:

了解高级音频函数各参数的意思;

提供一些高级音频函数的命令集;

编写一个简单的多媒体播放器程序;

高级音频函数有两条:1.mciSendString;2.mciSendCommand.前者称为命令字符串函数,后者称为命令消息函数.命令字符串函数顾名思义就是利用字符串作为命令来控制媒体设备,它最适合高级编程语言如:VB.而命令消息函数则是利用消息的发送来控制媒体设备,它最适合利用常数作命令的编程语言如:VC++.因此我们这里只讲解命令字符串函数的使用方法.

函数原型:

mciSendString(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

参数说明:

lpstrCommand:要发送的命令字符串.字符串结构是:[命令][设备别名][命令参数].

lpstrReturnString:返回信息的缓冲区,为一指定了大小的字符串变量.

uReturnLength:缓冲区的大小,就是字符变量的长度.

hwndCallback:回调方式,一般设为零.(*函数执行成功返回零,否则返回错误代码)

使用此函数能播放哪些媒体文件呢?不用担心,打开win.ini文件看看便知.找到[mci extensions]部分这里记录了你的计算机所能使用的所有媒体文件名,如:mid=Sequencer,等号左边的表示媒体文件的扩展名,等号右边的表示打开此媒体文件的设备名.

知道了哪些文件可以播放后就可以播放媒体文件了吗?No!你还得知道如何使用命令字符串来控制设备.下面列出的命令集是各种设备同时都具有的也是关键的命令集:

1.Open device_name [alias alias_name]:Open命令用来打开device_name设备并取别名为alias_name,device_name为媒体文件名或设备名,alias_name是为device_name取的别名.如:Open C:\windows\kl.wav alias WAV.意思是打开:c:\windows\kl.wav这个文件并取别名为WAV,在经后的操作过程中就可用这个别名来控制它所打开的设备了.

2.Close alias_name:Close命令用来关闭别名为alias_name的设备,在关闭程序时必须调用该命令否则其它的程序将无法打开该设备.

3.Play alias_name:Play命令用来播放别名为alias_name的媒体文件.成功的打开设备后就可调用该命令来播放媒体文件了.

4.Stop alias_name:Stop命令用来停止播放媒体文件.

5.Seek alias_name:Seek命令用来设置当前播放的位置.(需事先设定时间格式)

6.Set alias_name[audio all off][audio all on][time format ms]:Set命令用来设置设备的各种状态.如:静音,有声音,时间格式为毫秒等.

7.Status alias_name[length][mode][position]:Status命令用来取得设备的状态.如:该媒体文件的长度,该媒体文件所处状态,该媒体文件的当前位置等.

由于篇幅有限这里就不再说更多的命令集了.有兴趣的朋友可到我的网址详细的查询.

下面将介绍如何利用上面说的函数和命令集为我们工作:

1.新建一工程并在工程中添加一公用对话框(Common Dialog),再添加一模块(Module).

2.在模块中声明命令字符串函数:

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

3.添加一按钮并在按钮的Click事件中加入以下代码:

dim dwReturn as String * 256

me.CommonDialog1.ShowOpen

if(mciSendString("Open " + Commondialog1.FileName + " Alias MCI",dwReturn,256,0)=0) then

mciSendString("Play MCI",dwReturn,256,0)

end if

4.最后在窗体的UnLoad事件中加入以下代码:

mciSendString("Close MCI")

是不是很简单!才用了七行代码就编成了一个简单的播放器?

有兴趣的朋友可到我的主页查询,也可给我发E-Mail:

我的主页:http://www.tianfu.net/~kennyok(内有详细的说明和丰富的源程序)

我的E-mail:lucykenny@990.net

成都:刘明

地址:成都市新南门青平巷19号

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有