MP3的名字在当今这个世界上无疑是非常“亮”的了,而且,和MP3有关的东西也是异常火暴,比如MP3播放器。我们今天自己来设计一个MP3的播放器,当然,是不能随身携带的……
我们选择一个名为MP3PLAY的控件,它是由德国Dialog Dedien公司编写设计的,我们可以选用自己熟悉的语言来对它进行控制,这里我们使用VB。
首先,看看和这个控件有关的一些东西,比如:控件的属性、事件、方法。
属性:(按字母的顺序排列)
BitRate,Mp3流的比特率。ChannelMode,用于规定声道的工作模式,若值为0,则为立体声;为1,则是左声道;2为右声道;3为单声道。FrameCount,已打开的MP3流的总帧数。FrameNotifyCount,有这样的功能:播放指定的帧数以后,控件自动向我们的客户程序发出一个消息,而我们的程序就可以通过这个消息来进行一些处理,比如在显示器上进行一些提示等等。HasChecksuns,返回校验信息。IsCopyrighted,返回版权信息。IsOriginal,返回复制信息。Layer,MP3流所采用的编码层次。TotalTime,以毫秒为单位计算的回放的总时间。MsPerFrame,以毫秒为单位计算的每帧占用的时间。SampleFrequency,采样的速率。
可写的属性:FrameNotifyCount、ChannelMode。
可读的属性:所有的。
事件:
ActFrame,每播放由FrameNotifyCount指定的帧数以后就产生一次该事件,并在参数中给出了当前播放的帧号。AboutBox(),显示关于对话框。Authorize(Name,Password),在该控件注册以后,会得到一个注册号,否则,这个控件就是未经合法授权的,则只能播放MP3文件的前30秒,在注册以后,该方法会将授权号输入给控件,如果授权号与用户名合法,则控件返回0,否则返回5。Close(),关闭MP3文件。GetVolumeLeft()、GetVolumeRight(),返回左右声道的音量的大小,值的范围是0至65536。GetVolumeLeftP()、GetVolumeRightP(),以百分比的形式返回左右声道的音量的大小。Open(InputFile,OutputFile),打开InputFile指定的MP3文件,以WAV的形式写入OutputFile指定的WAV 文件,如果OutputFile为空的话,则MP3解码将直接从声卡播放出来。Play(),开始播放已打开的MP3文件。Pause(),暂停播放,再次调用时恢复。SetVolume()、SetVolumeP(),设置系统播放时的音量。SetErrorMode(Errmode),设置错误报告模式,Errmode为0时表示在各个方法调用结束直接返回错误代码,为1时表示采用标准的OLE异常处理方式。stop(),停止播放。Seek(Frame),跳到指定的帧数。
好了,下来看看原代码吧:
Private Sub Command1_Click()
Text1.Visible = False
a = Mp3Play1.Open(″c:love.mp3″, ″ ″)
Mp3Play1.Play
End Sub
Private Sub Command2_Click()
Mp3Play1.Close
End
End Sub
在这里,有两个命令按钮,一个名为“播放”,另一个名为“结束”,代码如上。另外,这个程序仅仅是一个例子,还有许多需要改进的地方,诸如界面、功能等等许多东西,这里就不多说了。相信这个例程和上面对控件的介绍已经可以实现许多功能强大的播放器了,是不是?
|