[VB.NET]MP3播放器

来源:互联网 发布:linux 更改home空间 编辑:程序博客网 时间:2024/05/01 11:10
MP3播放器

实例说明

<script type="text/javascript"><!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

在本实例中,我们将制作一个MP3播放器。程序运行时,可以选择MP3文件,选择左右声道声音,总共播放所需的时间等。程序运行结果如图61-1所示。

图61-1 运行结果

技术要点

l 注册Mp3Play控件

l 获得MP3文件的播放总时间

l 设置左右声道的声音

l 获得MP3文件的总帧数

实现过程

■ 新建项目

打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"Mp3Play",然后选择保存路径。单击"确认"。

■ 添加控件

向当前窗体添加七个Label控件,其中四个作为说明之用,其余三个分别用于显示MP3文件的播放时间、总帧数和文件名称。鼠标右击工具箱,选择"自定义工具箱",在弹出的对话框中选择Com组件,选中"Microsoft Common Dialog Control6.0"、"Microsoft Common Controls 6.0"、单击"浏览",选中文件Mp3play.ocx,这时会在""选项卡中出现"Dialog-Media Mp3Play ActiveX Control Module"一项。添加一个CommonDialog控件、三个Slider控件和一个Mp3PlayCtrl控件 。

■ 设置属性

切换到"属性栏",对窗体上的控件设置属性如表61-1所示。

表61-1 属性表

控件 属性 值

SldLeft TickStyle 2-sldBoth

Max 100

Orientation 1-ccOrientationVertical

SldRight 同SldLeft

LblBeijing Text 清华大学

lbltotaltime Autosize True

BackStyle 0-Transparent

Mp3play1 Visible False

其余控件 根据界面设置己可

■ 添加代码

' 选择mp3文件

Private Sub button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button1.Click

Dim totaltimes As Integer

AXCommonDialog1.ShowOpen()

If Len(AXCommonDialog1.FileName) = 0 Then Exit Sub

Err.Number = Mp3Play1.Open(AXCommonDialog1.FileName, "")

' 取得mp3文件的总时间

totaltimes = Mp3Play1.TotalTime

lbltotaltime.Text = "播放时间:" & Str(totaltimes / 60000) & ":" & Str(Int((totaltimes Mod 60000) / 1000))

lblmp3name.Text = AXCommonDialog1.FileName

' 取得mp3文件的左右声道音量

leftvolume = Mp3Play1.GetVolumeLeft

rightvolume = Mp3Play1.GetVolumeRight

sldPos.Value = 0

' 取得mp3文件的总帧数

sldPos.Max = Mp3Play1.FrameCount

lblframe.Text = "共" & sldPos.Max & "帧"

button2.Enabled = True

button3.Enabled = True

button4.Enabled = True

End Sub

' 开始播放

Private Sub button2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button2.Click

Mp3Play1.Play()

End Sub

' 暂停播放

Private Sub button3_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button3.Click

Mp3Play1.Pause()

End Sub

' 停止播放

Private Sub button4_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles button4.Click

Mp3Play1.Stop()

End Sub

' 程序启动时,必须进行注册,否则不能正确播放

' 设置左右声道默认值为中间值

Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

Mp3Play1.Authorize("LightBringer", "1441658209")

SldLeft.Value = 50

SldRight.Value = 50

' 在没有选择mp3文件之前,令播放、暂停、停止按钮不可用

button2.Enabled = False

button3.Enabled = False

button4.Enabled = False

End Sub

' 改变左声道的音量

Private Sub SldLeft_Change(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles SldLeft.Change

Mp3Play1.SetVolume(leftvolume * SldLeft.Value / 100, rightvolume * SldRight.Value / 100)

End Sub

' 改变播放mp3文件的位置

Private Sub sldPos_Change(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles sldPos.Change

Mp3Play1.Seek(sldPos.Value)

Mp3Play1.Play()

End Sub

■ 运行结果

单击菜单"调试|启动"或单击 图标运行程序。

小结

在本实例中,我们通过使用Mp3play控件来播放MP3文件,从而可以很方便地控制MP3文件的播放。

原创粉丝点击