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

 

 

  杨山河

 

 

MP3播放器大家用得应该不少,一边工作一边听泰坦尼克悠扬婉转的主题曲是何等的惬意!不过,您是否厌倦了播放器的老面孔,是否自己尝试编写一个您自己的MP3的播放器呢?什么,MP3压缩什么的太复杂?!NO!不要谦虚,你会VB吗?会就得了!下面,在下用VB5编一个我们自己的MP3播放器。望抛砖引玉,得到大家的指教。

 

首先,得了解一下我从朋友处得来的一个ActiveX控件棗Mp3Play.ocx。所谓ActiveX控件就是人家高手早已编好的专门化功能软件部件。以前在16位VB中是以vbx作为扩展名,Win95中扩展名改为ocx。大家只要知道Mp3Play.ocx是一个专门播放MP3音乐文件的VB控件就行。我们编写自己的播放器,使用该控件,并适当设置其属性,就可以获得专业级的MP3音乐效果。要想使用该控件,最好将她放到Windwos/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

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 chanel, right chanel ):设置系统左右声道音量。

Pause ( ):暂停,奇次声音暂停,偶次开启。

Play ( ):开始解码,并播放当前MPEG文件。返回0表示解码无误。

Stop ( ):停止当前解码工作,返回非0表示有误。

 

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

建立工程,添加Mp3Play.ocx到控件面板中去
启动VB5,选择Standard EXE。此时,左边的控件面板中只是一些Win95标准控件。我们选Project(工程)菜单下的Components…(组件)项,在弹出的对话框中选中Dialog-Medien Mp3Play ActiveX Control Module项。这“宝贝”即我们所需的MP3控件。确定后在控件面板中会增添一个蓝色的喇叭图标,表示该控件已经添加到控件面板中。
添加MP3控件实例到Form1(窗体)中去,设置属性
点中蓝色喇叭,在窗体中拖动一个矩形框,松开后在窗体中出现Mp3控件图标。为了在播放时隐去喇叭,在Mp3Play1的属性表中将Visible设为False。一般就这么多,剩下的就是使用她的方法(Methods)了。
添加“选择文件”,“播放”,“暂停”等按钮
点中“Command”按钮,在窗体中建立三个,名字分别为:Command1、Command2、Command3,将它们的Caption分别设为:“选择MP3文件”、“播放”、“暂停”。
添加CommonDialog控件
为能方便地选择MP3 文件,还需文件打开对话框。如果控件面板中没有此控件,如1中所述选中Components菜单项,在Microsoft Common Dialog Control 5.0前的复选框中打勾,确认后即可在控件面板中看到此控件图标。在窗体中建立一个名为CommonDialog1的对象,为使能快速找到MP3的文件需要设置它的Filter属性为“*.MP3|*.MP3”。
在按钮中编写相应的代码
双击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.调整窗口大小,运行播放器

适当调整窗体的外观如大小、颜色等,怎么舒服您就怎么设置。好了,开始按F1

运行,选择文件棗播放!感受一下您自个儿的MP3播放机吧!

 

此外,您还可以用Photoshop等软件制作一些漂亮的界面,贴在窗体上,增强其艺术性。还可以仿照WinAmp的“Plug_ins”,利用Timer控件完成一些特殊动画效果。当然,一切都靠您自个的天才去设计了。顺便在此请教诸位大侠,哪儿有未加时间限制的Mp3Play.ocx,或者您有注册号,请告诉在下。我因没有注册码,每首歌曲只能播放30秒。万望赐教,感激不尽!!!

 ==

1999?1998?不记得那年写的了

已标记关键词 清除标记
◆ 01.htm 1、怎么用mscomm控件检测modem是否与计算机联接正确?2、如何用mscomm挂断modem与别的电话机间的连接?(已接通) <br/>◆ 02.htm CWinInetConnection---一个封装了WinInet API函数的类 <br/>◆ 03.htm MODEM通讯意外处理 <br/>◆ 04.htm MsComm 文字传输 <br/>◆ 05.htm PING一个IP地址(向它发送一个数据包并等待回应) <br/>◆ 06.htm SMTP协议简介 (Simple Mail Transfer Protocol) <br/>◆ 07.htm VB5.0 中远程数据库的访问 <br/>◆ 08.htm VB下如何编写CRC校验程序 <br/>◆ 09.htm VB中Winsock控制的UDP协议的使用 <br/>◆ 10.htm Visual Basic 6中发送邮件的新方法 <br/>◆ 11.htm Visual Basic通信程序设计 <br/>◆ 12.htm Whois 示例程序 <br/>◆ 13.htm Winsock Terminal示例程序 <br/>◆ 14.htm WinSock断开导致客户端问题 <br/>◆ 15.htm 把Outlook信箱中的附件另存为 <br/>◆ 16.htm 保证连网计算机时间同步 <br/>◆ 17.htm 编写网络寻呼机 <br/>◆ 18.htm 编制自已的电话录音小程序 <br/>◆ 19.htm 程序中如何启动默认的拨号连接 <br/>◆ 20.htm 程序中如何启动默认的拨号连接? <br/>◆ 21.htm 打开器并进入指定网址 <br/>◆ 22.htm 打开一个直接到自己主页的器 <br/>◆ 23.htm 得到用户的IP地址 <br/>◆ 24.htm 电话拨号 <br/>◆ 25.htm 电子邮件的标准格式 (RFC 822) <br/>◆ 26.htm 断开拨号网络的连接 <br/>◆ 27.htm 断开与 Internet 的连接 <br/>◆ 28.htm 发送电子邮件附件 <br/>◆ 29.htm 发送电子邮件附件1 <br/>◆ 30.htm 发送电子邮件附件2 <br/>◆ 31.htm 发送电子邮件附件3 <br/>◆ 32.htm 发送电子邮件附件4 <br/>◆ 33.htm 获得用户网络登录名 <br/>◆ 34.htm 基 于Win95 的VB5 串 口 通 信 程 序 <br/>◆ 35.htm 基于Win95的VB5串口通信程序 <br/>◆ 36.htm 几个设置IE的API <br/>◆ 37.htm 检测运程数据传送的断线 <br/>◆ 38.htm 简单的聊天程序 <br/>◆ 39.htm 简单电子邮件发送程序 <br/>◆ 40.htm 建立拨号联接 <br/>◆ 41.htm 将所有窗口最小化 <br/>◆ 42.htm 利用IE控件访问Internet <br/>◆ 43.htm 利用IE控件设计简易器 <br/>◆ 44.htm 利用Mscomm32控件判断MODEM是否打开,或者正在工作,并且判断拨号时是否遇忙音 <br/>◆ 45.htm 利用TAPI进行电话拨号 <br/>◆ 46.htm 利用VB访问Internet <br/>◆ 47.htm 利用VB设计聊天室 <br/>◆ 48.htm 利用Visual Basic实现无线通讯 <br/>◆ 49.htm 利用Winsock控件实现局域网通信 <br/>◆ 50.htm 强制一个本地或远程NT系统关闭 <br/>◆ 51.htm 取得网卡序列号 <br/>◆ 52.htm 如何从 Internet 上取回某一个网页的內容? <br/>◆ 53.htm 如何检测是否已连接到Internet? <br/>◆ 54.htm 如何利用Winsock控件编写自己的Internet程序 <br/>◆ 55.htm 如何每天抓取 Internet 上某一个网页中的图片来更换桌面的壁纸? <br/>◆ 56.htm 如何启动拨号网路中的连线? <br/>◆ 57.htm 如何使用MSCOMM32.OCX发送大于80H的字符,可否给个示例程序 <br/>◆ 58.htm 如何通过VB获取网卡地址 <br/>◆ 59.htm 如何用VB打开默认器或默认发信程序? <br/>◆ 60.htm 如何用Visual Basic编写小型的网络系统 <br/>◆ 61.htm 如何在程序中启动 NT 的【拨号连接】对话框
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页