首页 >> 退房须知

用制作一个简单的播放器呢

2021-09-06 来源:黑龙江租房网

利用API函数[mciSendString]可以轻松实现MP3音乐文件的播放。下面这段程序实现了MP3播放的大部分常规操作,对其稍加修改,做一个100KB大小的MP3播放器轻而易举

启动VB程序,在窗体上放置6个命令按钮,三个标签,一个公用对话框、一个进度条、一个状态栏和一个计时器,窗本的布置请参考附图按钮\"Open MP3 File\"是用来打开对话框选择MP3文件,其他5个按钮分别为Play(播放)、Pause(暂停)、Stopplay(停止播放)、Back(向后跳跃)、Prew(向前跳跃)。Label1用来表示歌曲当前时间;label2放在时度条的最左边,Caption属性为\"00:00\";lable3放在时度条的右边,用来表示歌曲总长。

下面就可以编写代码了。首先在窗体的\"通用声明\"部分声明函数

Private Declare Function mciSendString Lib \"l\" 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=\"\"

abled=False

abled=False

abled=False

abled=False

abled=False

abled=False

erval=500

End Sub

Private Sub open_Click()

On Error Goto err

With CommonDialog1

.CancelError=True

.Filter=\"音乐文件|*.mp3;*.wav;*.mid\"

.Flags=cdlOFNNoChangeDir And cdlOFNPathMustExist

.Action=1

stopplay_Click \'\'停止按钮同时可以设备初始化

mfn=.FileName \'\'这个程序中文件名一定不能带空格

ption=.FileName

abled=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,0,0,0) \'\'Open后边的空格一定不能丢

Dim ret As String * 128

t=mciSendString(\"status \" + mfn + \" length\",ret,128,0)

\'\'显示歌曲总长

ret=Left(ret,8)

If ret\"\" Then

n=0

x=Val(ret)

ption=gettime(Val(ret))

End If

abled=False

abled=True

abled=True

abled=True

abled=True

t=mciSendString(\"status \" + mfn +\" mode\",ret,128,0)

\'\'得到设备的当前状态,是播放还是暂停等等

ret=Left(ret,8)

nels(1).text=ret

\'\'在状态栏显示播放状态

t=mciSendString(\"play \" + mfn + \" form \" + Str(lue),0,0,0)

\'\'开始播放

abled=True

End Sub

[下一页]

Private Sub pause_Click()

t%=mciSendString(\"pause \" + mfn,0,0,0)

\'\'发出暂停的命令

able=True

abled=False

abled=True

abled=False

abled=False

End Sub

Private Sub stopplay_Click()

t%=mciSendString(\"stop \" + mfn,0,0,0)

t%=mciSendString(\"close \" + mfn,0,0,0)

\'\'停止播放

abled=True

abled=False

abled=False

abled=False

abled=False

End Sub

Private Sub back_Click()

t%=mciSendString(\"play \" + mfn + \" from \" + Str(lue-(x\\10)),0,0,0) \'\'向后跳一小段再播放

End Sub

Private Sub prew_Click()

t%=mciSendString(\"play \" + mfn + \" from \" + Stri(lue+(x\\10)),0,0,0) \'\'向前跳一小段再播放

End Sub

Private Sub Timer1_Timer()

Dim t As Long

Dim ret As String * 128

t=mciSendString(\"status \" + mfn + \" position\",ret,0,0)

\'\'得到当前播放位置

ret=left(ret,8)

lue=Val(ret)

ption=gettime(Val(ret))

\'\'显示歌曲当前时间

If lue=x Then

stopplay_Click

End If

t=mciSendString(\"status \" + mfn + \" mode\",ret,128,0)

ret=Left(ret,8)

nels(1).Text=ret

End Sub

Private Sub Form_Unload(Cacel As Integer)

t%=mciSendString(\"stop \" + mfn,0,0,0)

t%=mciSendString(\"close \" + mfn,0,0,0)

End Sub

Private Function Gettime(position As Long) As String

\'\'这个函数的功能是把以长整型表示的时间转换为电子钟式的\"**:**\"

Dim min,sec

min=position/1000

min=min/60

sec=min-Int(min)

min=Int(min)

sec=60 * sec / 100

sec=Int(sec * 100)

gettime=Str(min) + \":\" + Str(sec)

End Function

图中5个控制按钮,其实是把字体设为\"Webdings\",让它们的Caption属性分别为\"4\" \";\" \"\" \"7\" \"8\"

就可以了

泉州治疗白癜风医院费用
广州治疗子宫内膜炎哪家好
拉肚子是什么原因引起的