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

用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秒。
应用软件加入全面的功能权限控制-Delphi资料 用Delphi编写安装程序 用Delphi实现超级链接 用Delphi实现子目录级的文件查询 用Delphi自制英语复读机 用DEPHI为应用软件建立注册机制-Delphi资料 优化delphi5.0秘籍大曝光 元件的handle的建立-Delphi资料 元件卷动的改进-Delphi资料 在delhpi程序中获取网络资源信息-Delphi资料 在Delphi中操作快捷方式 在DLL中实现文件的拷贝-Delphi资料 在Report Builder中增加自定义函数-Delphi资料 在Win2000 Beta下安装Delphi 在Word插入字符-Delphi资料 注册表中几个对编程特别有用的地方-Delphi资料 资源文件在DELPHI中的使用 自制替换指定串函数-Delphi资料 API函数快速入门API函数简介-VB资料 API函数快速入门怎样在VB中声明和使用API函数 API函数在VB开发中的应用 API函数在VB中的应用 API实现完美的图片出现效果-VB资料 ListView控件特效-VB资料 Office 95 API 的企业开发者指南-VB资料 SENDMESSAGE函数巧应用 -VB资料 VB 与Windows API 讲座(五) VB5 未公开的函数 VB5.0与Windows API 间的呼叫技巧 VB5中回调函数的使用方法 VB的API编程精粹(二) 请问大侠,谁会使用Rational Robot? 我做了一个监控程序,如何实现重新启动该程序??? 请问那位高手:如何用jdk开发自己的包!以供别人使用!! 50分求助,谢谢!~~在线等待! 请教 关于猴子分花生的问题 路漫漫其修远兮,征成熟软件开拓市场! 学习项目管理手记 vb能否做出象中国游戏在线中心这样的客户端? 关于COM调用的问题 jsp中有没有取前一天,后一天的数据的类,相当于数据库中的dateadd(dd,1,'')函数?? 我想做一个类似XP Form的模板,请问窗体改变尺寸的消息是什么?谢谢! 想用VC做三星手机N188里的音乐编辑器。 大家好:如何用Delphi报表打印信封,还要有邮政编码,就是像个信封。谢意! 请问那位高手:如何用jdk开发自己的包!以供别人使用!! DataGrid如何调整每列的高度? 在Vbscript中,我的这段代码有问题吗? 使用vc++写一个关于检测网络流量和硬盘读写速度的软件使用哪几个函数? 求救:我在GUI中用到了Jbuilder的xyLayout,怎样打包成为一个独立的应用程序 答者有分 dbGrid 高分!! 谁有jdk的帮助呀?或是我该在哪里下载? 中国队世界杯进攻名列倒数第一 数据库该学哪种语言??? =====在英文系统下,我用vc,为什么edit控件不能输入中文?==== 急!高分求助:水晶报表在Web上的打印问题 MaskEdBox控件的一个简单问题 凭证检索错误 层的显示位置问题? 数据库该学哪种语言??? 高手进来 TClientSocket和TServerSocket之间采用阻塞方式通信,讨论 大家请帮帮忙!一个关于数据库备份的问题!先谢了! 关于汉诺塔升级版。 TClientSocket和TServerSocket之间采用阻塞方式通信,讨论 如何将系统的短日期格式由yy-MM-dd改为yyyy-MM-dd 100分,再次求助,关于jsp中应用java bean的问题! 求助:如何在自己的程序里控制其它应用程序,主要实现对另一应用程序的鼠标定时自动单击 为什么???? 数据库该学哪种语言??? win2000并口编程,怪事?? 请问一个关于超链接的问题! 动态的软件演示用什么软件做?好象播放时用的是screencam.谢谢 一个利用Access 的report design做完报表后怎样用Delphi编程打印输出此报表的问题 数据库该学哪种语言??? 为什么老是说“要求对象”?高手请进! 例如一个编辑框,设为TIME型的,我用什么方法来检测其有效性呢?? 这句SQL如何写?有关 和checkbox搭配的问题?急急急! ejb问题 有编过输入法的吗? 一个空水池,有甲乙两个进水管和一个排水管,单开甲管5分钟能注满水池,单开乙管需10分钟注满水池,满池水如果单开排水管需6分钟流尽,某次池中没有水,打开甲管若干分钟后,发现排水管未关 铁屑盒的上方有一根铁棒,把一根条形磁铁靠近铁棒的上方这个实验中磁铁和铁棒成什极? 某房间需粉刷的面积约是80平方米,一般每平方米需用乳胶漆0.5升,如果在实际粉刷时有10分之1的损耗,实际应该准备多少升乳胶漆? 一空水池有甲乙两根进水管和一根排水管.单开甲管需5分钟注满水池,单开乙管需10分钟注满水池,满池水若单开排水管需6分钟流尽.某次池中没有水,打开甲管若干分钟后,发现排水管未关上,随 如图,桌子上有四分之三杯水,小健喝掉三分之一,想把水加满,他拿起另一杯盛满水满水的杯子向第一个杯子倒结果不小心,加满溢出来后他才发现,这时第二杯水只剩下四分之一,那么溢出的水到 已知O为坐标原点,向量OA=(cos2x+1,1)向量OB=(1,根号3*sin2x+a)(x∈R,a∈R,a是常数)若y=OA*OB1.求y关于x的函数关系式f(x)2.若f(x)的最大值为2,求a的值 卷子24页:一个水池有甲、乙两个进水管和丙一个排水管.单开甲管16分钟可将水池注满、单开乙管10分钟可将池注满,单开丙管20分钟可将全池水放完,若现在甲、乙两管,4分钟后关上甲管开丙管 2cos 30°-2sin 60°·cos 45° 足字旁组词(两个字)如:跟踪 踊跃 急! 哪位大侠帮我翻译一下这个英语.We( ) ( )get up at six o’clock.我们必须六点起床.两个括号是要填两个单词~谢谢啦 一件工作,甲单独做四小时,乙单独做五小时,甲乙工作时间的比是( ),甲乙工作效率的比是( ).急,求,快! 2sin 30°+tan 45°-2cos 60°=? 有甲、乙两个粮库,甲库里存粮120吨.如果把甲粮库中粮食的六分之一搬进乙粮库中,两个粮库中的存粮数量就相等,原来乙粮库中存粮多少吨? 蝗虫共有几对足?几对翅? 2sinα+cosα=√2cosα,则tanα 文章最雅成语(至少4个) 蝗虫的翅共几对,是它的什么器官 是大壁虎吃大蟑螂还是大蟑螂吃大壁虎? 我要观察蚂蚁的作文 100--150字 两只蝗虫和一只苍蝇一共有适于运动的翅和足分别是几对? 壁虎吃死蟑螂么?如题 壁虎吃死蟑螂么?壁虎吃死蟑螂么? 蝗虫的足翅触角各有和特点?,这对蝗虫的生活有何意义? 打印一份文件,甲每小时可以完成它的5分之1,乙可以完成它的4分之1,甲乙工作效率的最简比?工作时间最简比? 一个杯子底面直径是16厘米,高是20厘米,这个杯子能否装下3000毫升的牛奶用看的懂的方法 薯片盒半径4厘米,高10厘米,每平方米的纸最多能做几个薯片盒的侧面包装纸? 蝗虫的特征 校运会广播稿(200字) 这个杯子能否装得下3000毫升的牛奶(圆柱形)高20厘米,底面直径为14厘米,求算式! 如何区分铁棒,铜棒,磁铁棒.(不知道那一个是铁棒,铜棒,磁铁棒)如何区分铁棒,铜棒,磁铁棒.(不知道那一个是铁棒,铜棒,磁铁棒) 如何区分沙子,食盐,木屑,铁屑 如何区别铁棒,铜棒和磁铁棒 一个圆柱和一个圆锥,它们底面直径相等,高相等,圆锥的体积是15立方米,求圆柱的体积? 现有三根金属棒 分别是铁棒 铜棒 磁铁棒 如果从外表无法分辨 那么如何将三根金属棒区分开?要具体方法 不用说明原理 没有其它的辅助材料 要两篇关于校运会的广播稿!大概200字这样! 一个圆柱周长是50.24厘米高15厘米 这个杯子能装下3000毫升的牛奶吗?另一个题目是:有一根10分米的方木,横截面是边长为2分米的正方形,把它加工成体积最大的圆柱木料,材料的利用率是多少? 拆、组注塑模具为什么用铜棒轻敲,而不是铁棒或其他什么? 一个水池安放两个进水管和一个排水管,单开甲管4小时能把水池注满;单开乙管5小时能把水池注满;单开丙管3小时能把满池的水放完,现在三管同时开放,几小时能注到水池的百分之七十? 一个圆柱和一个圆锥,他们的底面直径相等,高相等,圆锥的体积是15立方米,圆柱的体积是多少 有三根外形完全相同的金属棒,其中有两根是具有磁性的磁铁棒,另一根是无磁性的铁棒.在不借助其他任何器材和物体的情况下,有什么方法能将他们分开?若可以选择其它器材,还有哪些新的设 形容蝴蝶美丽的诗句又不说蝴蝶 直径14cm,高20cm的杯子能否装下3000毫升的牛奶呢 形容读书很有感情的成语 有什么诗句是描写漂亮的蝴蝶我想寻找一些好听的诗句(唐诗 颂词 即可)描写美丽的蝴蝶的,希望知道的人帮帮忙 这个杯子能否装下3000毫升的牛奶?圆柱半径是14cm,高是20cm 读了文章,我想用这些成语来形容大明湖 一根软棒和两根没标磁极的铁棒怎么区分铁棒与磁棒 两个字都是病字旁的词语准确点儿 形容富有情感的读文章的成语有哪些? 如何区别磁棒和铁棒 蝗虫生活在干操的环境下,它的呼吸器官是什么 对弧长和曲线积分 求校运会广播稿250-300字!3Q字数符合要求就行,不要跑题的! 建筑面积17600平方米 室内粉刷面积怎么算 将一张36平方分米的正方形白铁皮减去四个角后,制成一个无盖的正方体的盒子,然后给这个盒子的完整然后给这个盒子的内外喷上红漆。求它的油漆面积和容积? 有关蝴蝶的诗句都有哪些? 已知o为坐标原点.向量OA=(2cosx方,1),向量OB=(1,根号3sin2x+a),若y=向量OA点成向OB1求y关于x的解析式2.若f(x)最大值是2,求a 将一张36平方分米的正方形白铁皮剪去四个角后,制成一个无盖的正方体的盒子,然后给这个盒子的内外喷上红漆.求它的油漆面积和容积?36=6×6 6÷3=2(分米) 就按我这个算式写下去,为什么要6÷3? 两根外形一样的棒,一根是铁棒,一根是磁体,请问如何判断那根是铁棒,那根是磁体?不能借助任何工具,如小磁针,也不能吊起来. 某房间的粉刷面积约为65平方米.【1】放有6块正方体铁块的量杯,水面读数是640毫升,拿出这6快正方体铁块后,水面下降到400毫升刻度的地方,每块正方体铁块的体积是【 】立方厘米.【2】某房间 两根外表一样的金属棒,一根是磁棒,一根是铁棒.你能不用任何工具分辨它们吗? 两根相同的棒,一根是铁棒,一根是条形磁铁,在没有其他任何工具的情况下怎么辨别它们是否有磁性?两种办法! 已知O为坐标原点,OA向量=(2asin^2x,a),向量OB=(1,-2根号3sinxcosx),f(x)=向量OA乘向量OB+b(a<b,a≠0)(1)求y=f(x)的单调递增区间:(2)若f(x)的定义域为[π/2,π],值域为[2,5],求a,b的值应该是【向量OB=
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘