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

用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秒。
用卫生棉杀敌冲关!两个高中女生的创意游戏 专访《Java程序员修炼之道》作者Ben Evans:保守的设计思想是Java的最大优势 Google收购Firebase 帮助程序员快速开发出移动App和Web App 微信支付开发关键点技术解析 游戏任玩!开源虚拟现实头戴式设备Open DoVision MDCC大会召开倒数10天 看Twitter、Facebook和国内“BAT”三大巨头最新动态 《近匠》Wijmo 5 CTO:从Web到移动,我的25年编程生涯 重复充电、防丢失!多功能智能行李箱Bluesmart 【设计经验传承】图标设计初阶要先型 “光年”光纤路由 支持千兆网络的家居中心 MDCC 2014移动开发技术与平台峰会:知名应用技术大牛传授实战经验 Unity生态圈将变?EA前总裁接替创始人任新CEO 第九届中国Linux内核开发者大会在京举办 《近匠》爱拍SDK:手游录像分享 爱拍才会赢 Mark走起!iOS开发最常用的第三方库 【CTO俱乐部读书会】《人件》译者肖然:软件工程是社会学 错过就要等一年 深圳微信开发者大会不容错过的十大理由 【干货】国外程序员整理的 C++ 资源大全 一周消息树:被投资人“送”入看守所,创业人汪洁有罪还是无罪? 聚焦五大主题 Atlassian Summit 2014精华PPT下载 2014中国移动开发者大调查第四期获奖名单曝光 【问底】许鹏:使用Spark+Cassandra打造高性能数据分析平台(一) 【特惠倒计时两天】参加深圳微信开发者大会赠书及全套讲师讲义 《英雄联盟》支撑最高750万同时在线用户的聊天服务打造 深圳云软技术副总黄榕振:招行信用卡微信公众号开发高级篇 来自未来的你,MDCC 2014新奇智能硬件揭秘 Twitter开源云环境时间序列数据断层检测工具BreakoutDetection 浅析Facebook软件架构:Tao和BLOB的实现原理 【图文实录】CTO俱乐部:走近Keen Team,走近智能设备Hack 2014聚合开发者大会(JDDC)在京召开 专访腾讯反病毒实验室:揭秘TAV引擎,哈勃分析系统两大利器 哪位大虾知道可以在哪里下载mpeg-1的codec,谁先告诉有效地址谁先得分!(不给分是小狗!) 可能很菜的问题,送分的问题!! 一个关于CDaoTableDefInfo的问题 ado的问题??求救!!!高分!!! 有关代码重用的问题,对Form的继承。 一个关于CString.Format的问题 学习编程时学图算法怎么学好? 一个很简单的CREATE TABLE语句为什么出错呢?向大家请教! jbuilder5运行需要最低配置 ,傻傻的问 Delphi6的盗版已经到了@_@ 喂,为什么我提问只能给最多37分,原先可比这要多的多 一个关于派生类的问题 关于页面关闭的问题 用new JTalbe(10, 20)创建了一个table,如何设置该table列(column)的宽度 请教一个关于用VC6开发outlook\exchange的问题。急!急! 时间服务器 请问一下,用DBM,如果用户注册的数量多了以后,程序的速度很一般的文本速度比较哪个快 纯数学问题:如何求模逆元? VB中实现进程间通信的方法?VB中的CallWindowProc的用法?VB中如何发送自定义的消息? 请问哪里能免费下载BCB5?下载多长时间没有关系,只要能够正确使用就可以了。 怎样得知CListCtrl中当前选项? 我想从WINME中自带的一个驱动程序提取出来在WIN97中安装,请问应如何做? 菜问题(2) 请教:为何数据库数据无法在网页上显示? CEditView 一定要override onChange function(ON_CONTROL_REFLECT(EN_CHANGE, OnChange))????;否则input 时不我待会错??? 请教:不通过页面,用VB如何得知来访者的IP? 如何将vcd转化为real的格式???????????急!!!!!!!!!!!!!! 对DMO播放内存MPEG2数据没有头绪,谁能给点提示? 支持bestbestbest!!!!!!!!!!!! 如何在win98下使用EJB? applet 可以打开到一个server的socket么 谁知道国内哪有下载jdk1.4,Thanks! 如何配置For Oracle8i 的ODBC? 请教如何动态改变窗口大小 弟兄们救命啊!!!rational rose中mdl的导出 Jbuilder5.rar的密码? 这条语句为何通不过?请指教! 各位大虾:一个WWW服务器,不通过页面,要得到访问者的IP怎么办? 劳改犯严正声明:支持3B、蝈蝈的正确领导,声讨"捣蛋杂碎"及"跳梁小丑".坚决维护水园的安定团结. 哪位高手能给我解释一下,关于Hook技术,谢谢 pcb板什么什么东东? 请问:malloc()函数的作用是什么? 关于TTS(vcmd.exe自动化服务器) to 斑竹 :::::::,为什么我提问给分怎么比以前少了许多 急急, 怎樣從在一個框架里放打印按鈕,但要打出來的是另外一個框架的東西? 我是一个初学者,要成为一名软件工程师,要学习哪些? ···基于水园各位GGJJDDMM的快乐着想,特别给大家一次浪漫的机会,以此缓解水园的紧张气氛··· 北京地区有ADSL了吗????? 新手向大家请教了关于jdk 请简单介绍一下developer 2000 哪里有JBuilder的参考书籍,哪位高手知道的说一声 在一个周长400米的圆形池塘周围植树,每隔4米栽一棵 ,一共可栽多少棵? 同学们在全长100米的小路一边植树,每隔5米栽一颗(两端都栽)一共需要多少树苗? 在一条马路一边从头到尾植树36棵,每相邻两棵树之间隔8米,这条马路有多长?快!算式?答案?有悬赏分! 在周长180米的池塘种树,每隔12米种一棵,要种几棵? 同学们在全长100米的小路一边植树,每隔5米栽一棵(两端要载).一共需要多少棵树苗? 在一条路的两旁共植树100课,每两棵树之间的间隔为3米,这条路至少长几米?小张家住11楼,他从一楼到五楼用了一百秒,他到家还需几秒?男子110米栏比赛共设10道栏,其中起跑线到第1道栏以 一个圆形的花坛,周长是120米,如果沿着花坛周围每隔5米种一棵杨树,每两棵杨树之间种一棵树,一共可种()棵树 同学们在全长100米的小路一边植树,每隔5米栽一棵(只栽一端).一共需要多少棵树苗 同学在街道两旁植树,两棵树之间的距离是5米,这条街道有多少米?如题!同学在街道两旁植树,两棵树之间的距离是5米,一共植了18棵,这条街道有多少米? 园林设计师傅打算在一个周长是150米的圆形花坛的周围每隔3米种一棵树,一共得准备多少棵树苗? 全长100米的小路植树,每隔5米栽一棵,两端要栽,一共要多少棵树苗 在一条长100米的公路两侧,从头到尾每隔2米栽一棵树,按3棵杨树、1棵柳树的规律栽.杨树、柳树各占植树总棵树的几分之几? 一花坛周长60米,每5米种一棵树,共种几棵树 同学们在全长100米的小路一边植树,每隔5米栽一棵(两端要栽).一共需要多少棵树苗?方法怎么写. 一条长2000米的公路两旁每隔10米种一棵杨树,每两颗杨树之间等距离种3颗枫树.这 一个周长是78.5的圆形花坛,每隔两米种一棵树,最多种多少树?再说一下39.25是肯定不对的!40也不对!最好是整数。 李红在乘长途汽车旅行时,注意观察平直公路旁边的里程碑,并把对应的时刻记录了下来,数据如下表:里程李红在乘长途汽车旅行时,注意观察平直公路旁边的里程碑,并把对应的时刻记录了下 一条102米长的公路两侧种树,从起点到终点共种树36棵,如果两棵树之间的距离相等,相邻两棵树之间有多少米今天一定要答案 一个圆形的花坛周长是20米,如果每隔5米种一棵树,那么一共可以种多少棵树? 某同学在乘长途汽车旅行时,注意观察公路旁的里程碑,并把观察的结果记录在下面表格中.表格如下:观察次数:1 2 3 4 5里程碑示数:10km 20km 30km 40km 50km观察时间:6:30 6:45 7:05 7:25 7:421、在6时30 一条长180米的公路两侧各栽了一行杨树,起点和终点都栽,共栽了20棵.如果相邻两棵树之间的距离相等,相邻两棵树之间的距离是多少? 一个圆形草地它的周长是480米沿着它的周长每隔六米种一棵树在在两棵树之间发两盆花一共放多少盆花 一同学在乘长途客车旅行时,注意到平直公路旁的里程碑,并把对应时间记录下来,数据如下表所示,回答问题┌——————┬—————┬—————┬—————┬—————┬————— 一条路长25米,少先队员在路的两旁植树,起点和终点都栽,一共栽了12棵树,每两棵树之间相隔多少米?要求:快,说出列式和每一步求的是什么. 在圆形的水池边,每隔3米种一颗树,共种树60棵,这个水池的周长是多少米? 某同学在乘长途汽车旅行时,注意观察公路旁的里程碑,并把观察的结果记录在下表中;里程碑数 10km 20km 30km 40 km 50 km 观察时刻 6:30 6:45 7:00 7:20 7:39 (1)汽车在总时间内的平均速度是多少?(2 在一条长120米的公路两侧分别种柳树和杨树【两端没种】柳树每隔3米种一颗,杨树每隔5米种一颗,在这条路的两侧有多少颗数相对 一个圆形水池的周长是12.56米,它的占地面积是多少平方米? 植树队在路的两旁种树,路的两端都种子树,一共种了300棵,树与树之间的间隔是5米,这条路长多少米? 一条公路一边栽了68棵每两棵杨树中间栽1棵柳树那么共栽了( )棵树 一个圆形水池的周长是62.8米,这个水池占地面积是多少平方米? 农民伯伯在公路两旁种树,树与树之间的距离是3.8米.已知两边共栽了300棵树.这条公路长多少千米?(公路的两端都要种树.)快,我现在就要,答得好我额外给 在一条长12千米的公路旁一共栽了600棵杨树,240棵柳树,平均每千米栽多少棵树? 一个圆形水池的周长是25.12米,这个水池占地面积是多少平方米? 农民伯伯在公路两旁种树,树与树之间的距离是3.8米.已知两边共栽了300棵树.这条公路长多少千米?(公路的两端都要种树.我现在就要,答得好我额外给 公路长1500米,20米植一棵柳树(两端都种),在柳树之间每隔20米植一棵杨树.植柳树,杨树个多少棵?算式是什么,在柳树之间注意了,之间,每隔20米植一棵杨树 一个圆形水池的周长是31.4米.现将这个圆形水池的直径扩大3分之2后,水池的面积比原来多多少平方米 一条长skm的公路两侧每隔acm就植一棵树,这条公路的两侧共植树多少 一条路,左边每隔5米种一棵杨树,右边每隔6米种一棵柳树,两端种着树,有5处杨和柳是相对的,路长()米.要算式 挖一个周长是56.52米的圆形水池,这个水池的占地面积是多少平方米 公路两旁种树,每隔5米种一次,则少21棵,每隔5.5米种一棵,则少1棵,求树苗数和急用!答案为199棵树 在一条长645米的小路两边植树,每隔3米植树一棵.如果从两端植起,那么一共要植树多少棵? 两棵大树之间相距250米,园林部门计划在两棵大树的中间补栽小树,便每两棵小树之间的距离是10米,一共要补栽多少棵小树? 在圆形的水池边,每隔3米种一棵树,共种树60棵,这个水池的周长是多少米? 今年植树节,同学们沿一段公路植树,每隔5米种1棵,则少21棵,每隔5.5米种1棵,则少1棵,求树苗棵数及公路长度 (用方程) 两棵大树中间有一棵小树 一边有太阳 一边下雨 题目该怎么起 在一个周长是400米的正方形水池边种树,每隔10米种一棵,共需种 几棵树,每边种了 在一条100米的小路旁植树101棵,不管怎么植,总有两棵树的距离不超过1米,为什么? 两棵大树之间相距250米,园林部门计划在两棵大树中间补栽小树,使每两棵小树之间的距离是10米.一共要补栽多少棵树 一条路长100米,在路的一边从头到尾每隔10米栽一棵树,一共要栽多少棵树 给一条路上植树,两棵树之间的距离和植树的棵树不成比例对吗? 两棵大树之间相距250米,园林部门计划在两棵大树中间补栽小树,使每两棵小树之间的距离是米,一共要补栽多少 在一条长100米的通路两侧,从头到尾每隔2米在一棵树,按2棵杨树,一颗柳树的规律栽植.杨树,柳树各占植树总棵要算式 我们在一条100米长的道路一侧种了52棵树,那一定有两棵树他们之间的距离不超过2米急 两棵大树之间相距160米,园林部门计划在两棵大树中间均匀地补栽39棵小树,每两棵小树相距多少米? 在一条长100米的路两侧,从头到尾每隔2米栽一棵树,按2棵杨树,1棵柳树的规律栽植,杨树,柳树各占植树总棵树的几分之几 在一条长100米的小路一旁植树101棵,不管怎么种,总有两棵树的距离不超过1米,为什么 两棵大树之间相距180米,园林部门计划在两棵大树中间栽44棵小树每两棵小树的间隔距 在一条长100米的甬路的两侧,从头到尾每隔2米栽一棵树,按2棵杨树,1棵柳树的规律栽.杨树,柳树各占植树总棵的几分之几? 在一条长100米的小路一旁种101棵树,证明不管咋么种,总有两棵的距离不过1米
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn