您现在的位置是:首页
>
MP3播放器哪个好 分享——一个简单的MP3播放器的制作
分享——一个简单的MP3播放器的制作 利用API函数[mciSe dStri g]可以轻松实现MP 音乐文件的播放 下面这段程序实现了MP 播放的大部分常规操作 对其稍加修改 做一个 KB大小的M
分享——一个简单的MP3播放器的制作

利用API函数[mciSendString]可以轻松实现MP 音乐文件的播放 下面这段程序实现了MP 播放的大部分常规操作 对其稍加修改 做一个 KB大小的MP 播放器轻而易举 启动VB程序 在窗体上放置 个命令按钮 三个标签 一个公用对话框 一个进度条 一个状态栏和一个计时器 窗本的布置请参考附图 按钮 Open MP File 是用来打开对话框选择MP 文件 其他 个按钮分别为Play(播放) Pause(暂停) Stopplay(停止播放) Back(向后跳跃) Prew(向前跳跃) Label 用来表示歌曲当前时间 label 放在时度条的最左边 Caption属性为 lable 放在时度条的右边 用来表示歌曲总长 下面就可以编写代码了 首先在窗体的 通用声明 部分声明函数 Private Declare Function mciSendString Lib winmm dll Alias mciSendStringA (Byval lpstrCommand As String ByVal lpstrRetumString As String ByVal uReturnLength As long ByVal hwndCallback as long) As long Dim mfn As String 下面就是各个对象的代码了 Private Sub Form_load() mfn= play Enabled=False pause Enabled=False Stopplay Enabled=False back Enabled=False prew Enabled=False Timer Enabled=False Timer Interval= End Sub Private Sub open_Click() On Error Goto err With CommonDialog CancelError=True Filter= 音乐文件|* mp ;* wav;* mid Flags=cdlOFNNoChangeDir And cdlOFNPathMustExist Action= stopplay_Click 停止按钮同时可以设备初始化 mfn= FileName 这个程序中文件名一定不能带空格 Form Caption= FileName play Enabled=True End With play_Click Exit Sub err: End Sub Private Sub play_Click() On Error Resume Next Dim t As Long t=mciSendString( open + mfn & ) Open后边的空格一定不能丢 Dim ret As String * t=mciSendString( status + mfn + length ret ) 显示歌曲总长 ret=Left(ret ) If ret<> Then ProgressBar Min= ProgressBar Max=Val(ret) Label Caption=gettime(Val(ret)) End If play Enabled=False pause Enabled=True stopplay Enabled=True back Enabled=True prew Enabled=True t=mciSendString( status + mfn + mode ret ) 得到设备的当前状态 是播放还是暂停等等 ret=Left(ret ) StatusBar Panels( ) text=ret 在状态栏显示播放状态 t=mciSendString( play + mfn + form + Str(ProgressBar Value) & ) 开始播放 Timer Enabled=True End Sub Private Sub pause_Click() t%=mciSendString( pause + mfn & ) 发出暂停的命令 play Enable=True pause Enabled=False stopplay Enabled=True back Enabled=False prew Enabled=False End Sub Private Sub stopplay_Click() t%=mciSendString( stop + mfn & ) t%=mciSendString( close + mfn & ) 停止播放 play Enabled=True pause Enabled=False stopplay Enabled=False back Enabled=False prew Enabled=False End Sub Private Sub back_Click() t%=mciSendString( play + mfn + from + Str(ProgressBar Value (ProgressBar Max )) & ) 向后跳一小段再播放 End Sub Private Sub prew_Click() t%=mciSendString( play + mfn + from + Stri(ProgressBar Value+(ProgressBar Max )) & ) 向前跳一小段再播放 End Sub Private Sub Timer _Timer() Dim t As Long Dim ret As String * t=mciSendString( status + mfn + position ret ) 得到当前播放位置 ret=left(ret ) ProgressBar Value=Val(ret) Label Caption=gettime(Val(ret)) 显示歌曲当前时间 If ProgressBar Value=ProgressBar Max Then stopplay_Click End If t=mciSendString( status + mfn + mode ret ) ret=Left(ret ) StatusBar Panels( ) Text=ret End Sub Private Sub Form_Unload(Cacel As Integer) t%=mciSendString( stop + mfn & ) t%=mciSendString( close + mfn & ) End Sub Private Function Gettime(position As Long) As String 这个函数的功能是把以长整型表示的时间转换为电子钟式的 **:** Dim min sec min=position/ min=min/ sec=min Int(min) min=Int(min) sec= * sec / sec=Int(sec * ) gettime=Str(min) + : + Str(sec) End Function 图中 个控制按钮 其实是把字体设为 Webdings 让它们的Caption属性分别为 ; <" "7" "8" 就可以了 lishixinzhi/Article/program/Java/hx/201311/26246
很赞哦! (1068)