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

用VB5.0编写自己的MP3播放器

HTML文档下载 WORD文档下载 PDF文档下载
用VB5.0编写自己的MP3播放器
作者:杨山河
MP3播放器大家用得应该不少,不过,您是否厌倦了播放器的老面孔,是否尝试编写一个自己的MP3播放器呢?什么,太复杂!你会VB吗?会就得了! 首先,得了解一下我从朋友处得来的一个ActiveX控件——Mp3Play.ocx。所谓ActiveX控件就是高手早已编好的专门化功能软件部件。以前在16位VB中是以vbx作为扩展名,Win95中扩展名改为ocx。大家只要知道Mp3Play.ocx是一个专门播放MP3音乐文件的VB控件就行。我们编写自己的播放器,使用该控件,并适当设置其属性,就可以获得专业级的MP3音乐效果。要想使用该控件,最好将它放到Windows\system目录,并且在注册表中注册。利用该控件,还可以将一个MP3文件解码为一个WAV文件。 Mp3Play.ocx的主要属性有:

BitRate :MP3流比特率;FrameCount:MP3流帧记数;TotalTime: 总计已播放的时间;FrameNotifyCount( RW ):发送一次通告的帧数,缺省为32;IsCopyrighted、IsOriginal、HasChecksums: 从MP3流获得的发行信息;SampleFrequency:采样率;Layer:取值可以为1、2、3,分别代表Layer1、Layer2、Layer3的标准,缺省为3,这意味着MPx的文件都可以播放;MPEGVersion:取值代表MPEG-1或MPEG-2。 常用的方法有:

AboutBox ( ):显示About框。

Authorize ( Name, Password ):验证许可证(注册码),Name即注册名,Password为注册码,由控件的提供商在用户注册后提供,返回值为0则通过,否则为5。 Open ( Inputfile, Outputfile ):打开MPEG音频文件并解码播放,若在声卡上播放则Outputfile应为空串,返回非0值表示解码有误。如果Outputfile为文件名则解码至WAV文件。也就是说,可以利用此方法编写MP3-WAV转换器。 Close:关闭当前MPEG流解码。

GetVolumeLeft,GetVolumeRight:获取左右声道的音量,返回Long型值。 SetVolume ( left channel, right channel ):设置系统左右声道音量。 Pause( ):暂停,奇次声音暂停,偶次开启。

Play ( ):开始解码,并播放当前MPEG文件,返回0表示解码无误。 Stop( ):停止当前解码工作,返回非0表示有误。

下面,我们一步一步地完成:

1. 添加Mp3Play.ocx控件

启动VB5,选择Standard EXE。此时,左边的控件面板中只是一些Win95标准控件。我们选Project(工程)菜单下的Components...(组件)项,在弹出的对话框中选中Dialog-Medien Mp3Play ActiveX Control Module项。这“宝贝”即我们所需的MP3控件。确定后在控件面板中会增添一个蓝色的喇叭图标,表示该控件已经添加到控件面板中。 2. 设置属性

点中蓝色喇叭,在窗体中拖动一个矩形框,松开后在窗体中出现MP3控件图标。为了在播放时隐去喇叭,在MP3Play1的属性表中将Visible设为False。一般就这么多,剩下的就是使用它的方法(Methods)了。 3. 添加按钮

点中“Command”按钮,在窗体中建立三个名字分别为Command1、Command2、Command3的命令按钮,将它们的Caption分别设为“选择MP3文件”、“播放”、“暂停”。 4. 添加CommonDialog控件

为能方便地选择MP3 文件,还需文件打开对话框。如果控件面板中没有此控件,如1中所述选中Components菜单项,在Microsoft Common Dialog Control 5.0前的复选框中打勾,确认后即可在控件面板中看到此控件图标。在窗体中建立一个名为CommonDialog1的对象,为使能快速找到MP3的文件,需要设置它的Filter属性为“.MP3|.MP3”。 5. 在按钮中编写相应的代码

双击Command1,在Private Sub Command1_Click()中输入以下代码: CommonDialog1.ShowOpen

双击Command2,在Private Sub Command2_Click()中输入: Err = Mp3Play1.Open(CommonDialog1.filename, ″″) Mp3Play1.Play

双击Command3,在Private Sub Command3_Click()中输入: Mp3Play1.Pause

6.调整窗口大小,运行播放器

适当调整窗体的外观,如大小、颜色等,怎么舒服您就怎么设置。好了,开始按F5运行,选择MP3文件——播放!感受一下您自个儿的MP3播放器吧! 此外,您还可以用Photoshop等软件制作一些漂亮的界面,贴在窗体上,增强其艺术性。还可以仿照Winamp的“Plug_ins”,利用Timer控件完成一些特殊的动画效果。当然,一切都靠您自个的天才去设计了。顺便在此请教诸位大侠,哪儿有未加时间限制的Mp3Play.ocx,或者您有注册号,请告诉在下。我因没有注册码,每首歌曲只能播放30秒。
NativeActivity类在NDK中管理Activity OBB文件和StorageManager类使用介绍 DownloadManager下载管理类2.3新增API介绍 Android平台上的11个感应器你都知道吗 Android 2.3中的java.io.File类新增功能 更轻松的获取APK文件安装时间 Android控件对应表,丰富你的UI设计 Android开发进阶之NIO非阻塞包(八) Android开发进阶之NIO非阻塞包(七) Android开发进阶之NIO非阻塞包(六) Android开发进阶之NIO非阻塞包(五) Android开发进阶之NIO非阻塞包(四) Android开发进阶之NIO非阻塞包(三) Android开发进阶之NIO非阻塞包(二) Android开发进阶之NIO非阻塞包(一) Android开发进阶教程系列(一)目录篇 Android开发调试工具TraceView多图演示 Android JNI实例代码(二) Android JNI实例代码(一) Android JNI开发高级篇 Android NDK开发技巧二 Android JNI开发进阶篇 Android JNI开发提高篇 Android JNI开发入门篇 Android NDK开发技巧一 Android数据库ContentProvider封装原理 Android Permission列表,ADT 0.9.9 bug Android Theme和Styles内部定义解析 Android平台下图表绘制相关方法 Activity类的runOnUiThread方法你用过吗 Android上鲜为人知的UI控件介绍和使用 求能够交替显示不同颜色的行的表格控件,十万火急! 如何将SQL SERVER 2000中的两个表连接在一起,且其中的记录是一对多? 如何用JavaScript控制验证控件的Enable属性?? 拼音模糊查询 “网上邻居”就打不开了,这是怎么回事?如何处理? 为什么没有delete 掉 使用pro c要用到那些包,如何快速学会pro c? 谢谢 拼音模糊查询 求gif或jpg下图标。详情见内。 昨天,公司通知我晉升,老丈人讓我去見她,第一次,雙喜臨門,散分!!! 看看我们昨天晚上怎么过的中秋吧 拼音模糊查询 XP下断开连接了,怎么总是不断自动拨号啊。 螺旋藻能防辐射,你知道么,给说说吧,有分送 servlet如何实现对文件的删除? 请教PWM DsgnIntf的问题 请问如何让自己的服务可以早点启动(普通服务,不是驱动服务)? 程序员的女人 请教一道网设的题目 请大家介绍几个热门的英文讨论的技术网站给我。 请教一个抽象类的问题 如何在dataset.tabel中将两个表能过双方的两个字段建议关系 高分求高手:jsp中如何获得服务器的网卡地址? 新手,请教C#入门 如何将列表框中所有的值都显示出来,不要有滚动条! 系统软件谁居第一 新人“ gxlxwp1982(我爱Delphi,就像老鼠爱大米)”来了,以后大家多帮忙!!!!1 使用Access数据库的SQL语句问题请教!!!! 谁有软件技术测试报告?给我一份参考一下啦~~~ : [求助]请各位帮帮忙呀! weblogic7.0的端口问题 如何在一个form中使用另一个form? win2kp 如何恢复丢失的桌面? 80年出生的都在干什么? SQL Server7.0升级到SQL Server2000 急需winsock2.h文件 delphi开发的程序在WIN2000,WINXP下运行正常,在WIN98却不行,是怎么回事? 如何在TOMCAT下重定向服务器不存在文件的错误页面 关于JFileChooser中的新建文件夹问题? 请问哪里有sun j2ee 服务器参考实现的源程序下载 今年一定考C++吗 考几道C语言的题目啊~~~~~~~~~~~~ VB调用COM接口,出现类型不匹配,如何解决? 关于拷贝构造函数,诡异。。。 如何使窗体永远在所有窗口的最前面! vsftpd 是配好了,但是登陆不上去 请问如何编程以其他用户的身份来运行一个程序? 我在同一ASMX文件中在某个WebMethod中调用其它的WebMethod出错,说不支持关键字“provider” 100分求进、销、存类程序源码 各位,请教一数据访问时间问题 七天七世纪 我说,正因为如此,才应该多走走.母亲信服(信任)地点点头 信服可以换成信任吗 理由说下但春天总算来了我说,正因为如此,才应该多走走.母亲信服(信任)地点点头 信服可以换成信任吗 理由说 如何用access计算年龄用[DepartureDate]和[Birthdate]进行计算,说明如下Calculate the difference between the Birthdate and DepartureDate; then divide the difference by 365.Use "\"symbol instead of"/"for the division.this will result in th 新山东精神与中华名族精神之间有何关系? 最能代表中华名族精神的人及事例要5个,还要事例 建安指的是什么?建安七子是谁?建安七子都有谁啊? 列举4句体现中华名族精神的格言同上,短点的 带有冰和杰的句子,要求七个字,像娜样纯杰的爱恋一样 最早提出“中华名族”这一概念的是谁? 顺便留个言 用英语怎么说 最荒凉的地方(不毛之地) 最昂贵的稿费( ) 最快的速度() 最遥远的地方() 最危险的时刻() 母亲信服的点点头,便去拿外套.此处的信服能换成信任吗?为什么? 美国承诺不再窃听联合国 对此前传闻不中国—东盟能源合作进入“零关税”时代中国驻圣彼得堡总领事和留学生谈梦想中国军方就日舰闯入我演习区提出严正交日本发现一种化合物可预防糖尿病等疾病全球发展中国家每年新增200万名15国防部回应安倍抗衡中国言论:不自量力澳大利亚利用“特等舱”为美国搜集亚太我军2名专家将赴叙利亚执行化学武器销埃塞俄比亚“中国通”总统:中国值得埃“中国周”活动走进墨西哥高校马布里搞怪冒充记者 “寿星”李伟被蛋媒体:“走马灯式”官员调动致使朝令夕为驻村工作提供不竭动力美对我进口钢盘条征收高关税3500余名医生考核不合格被淘汰我区先心病儿童在深圳接受治疗把每件小事都放在心上关于表彰全区深入开展创先争优强基础惠坚定信念 推动驻村工作再上新台阶亲民爱民 脚踏实地办实事难忘的人生经历 宝贵的精神财富贼眼三国雇佣兵娱乐圈霸主骷髅王纵横网游恶魔猎手在异世妻主有喜了绯红的月影醉舞乾坤之龙界拽公主反贼匹马戍凉州天部十笏园旅游长生谷旅游报晓峰旅游老舍公园旅游昭明太子读书台旅游挹江亭旅游竹林寺旅游南山文苑旅游东泠泉旅游壮观亭旅游万佛塔旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘