求VB 制作 MP3 播放器 代码
如果要控件先给出添加部件时的名称,还有设置用单选框Option选择后,按确定后播放相应歌曲,按停止后取消播放,效果不需要列表框...
如果要控件先给出添加部件时的名称,还有设置
用单选框Option选择后,按确定后播放相应歌曲,按停止后取消播放,效果
不需要列表框 展开
用单选框Option选择后,按确定后播放相应歌曲,按停止后取消播放,效果
不需要列表框 展开
展开全部
用VB制作一个简单的MP3播放器
用VB制作一个简单的MP3播放器 利用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 "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
Timer1.Enabled = False
Timer1.Interval = 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 '这个程序中文件名一定不能带空格
Form1.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, 0&, 0, 0) 'Open后边的空格一定不能丢
Dim ret As String * 128
t = mciSendString("status " + mfn + " length", ret, 128, 0)
'显示歌曲总长
ret = Left(ret, 8)
If ret <> "" Then
ProgressBar1.min = 0
ProgressBar1.Max = Val(ret)
Label3.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, 128, 0)
'得到设备的当前状态,是播放还是暂停等等
ret = Left(ret, 8)
StatusBar1.Panels(1).Text = ret
'在状态栏显示播放状态
t = mciSendString("play " + mfn + " form " + Str(ProgressBar1.Value), 0&, 0, 0)
'开始播放
Timer1.Enabled = True
End Sub
Private Sub pause_Click()
t% = mciSendString("pause " + mfn, 0&, 0, 0)
'发出暂停的命令
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, 0&, 0, 0)
t% = mciSendString("close " + mfn, 0&, 0, 0)
'停止播放
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(ProgressBar1.Value - (ProgressBar1.Max \ 10)), 0&, 0, 0) '向后跳一小段再播放
End Sub
Private Sub prew_Click()
t% = mciSendString("play " + mfn + " from " + Stri(ProgressBar1.Value + (ProgressBar1.Max \ 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)
ProgressBar1.Value = Val(ret)
Label1.Caption = Gettime(Val(ret))
'显示歌曲当前时间
If ProgressBar1.Value = ProgressBar1.Max Then
stopplay_Click
End If
t = mciSendString("status " + mfn + " mode", ret, 128, 0)
ret = Left(ret, 8)
StatusBar1.Panels(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
用VB制作一个简单的MP3播放器 利用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 "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
Timer1.Enabled = False
Timer1.Interval = 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 '这个程序中文件名一定不能带空格
Form1.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, 0&, 0, 0) 'Open后边的空格一定不能丢
Dim ret As String * 128
t = mciSendString("status " + mfn + " length", ret, 128, 0)
'显示歌曲总长
ret = Left(ret, 8)
If ret <> "" Then
ProgressBar1.min = 0
ProgressBar1.Max = Val(ret)
Label3.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, 128, 0)
'得到设备的当前状态,是播放还是暂停等等
ret = Left(ret, 8)
StatusBar1.Panels(1).Text = ret
'在状态栏显示播放状态
t = mciSendString("play " + mfn + " form " + Str(ProgressBar1.Value), 0&, 0, 0)
'开始播放
Timer1.Enabled = True
End Sub
Private Sub pause_Click()
t% = mciSendString("pause " + mfn, 0&, 0, 0)
'发出暂停的命令
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, 0&, 0, 0)
t% = mciSendString("close " + mfn, 0&, 0, 0)
'停止播放
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(ProgressBar1.Value - (ProgressBar1.Max \ 10)), 0&, 0, 0) '向后跳一小段再播放
End Sub
Private Sub prew_Click()
t% = mciSendString("play " + mfn + " from " + Stri(ProgressBar1.Value + (ProgressBar1.Max \ 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)
ProgressBar1.Value = Val(ret)
Label1.Caption = Gettime(Val(ret))
'显示歌曲当前时间
If ProgressBar1.Value = ProgressBar1.Max Then
stopplay_Click
End If
t = mciSendString("status " + mfn + " mode", ret, 128, 0)
ret = Left(ret, 8)
StatusBar1.Panels(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
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
加一个wmp控件
Private Sub Command1_Click()
For i = 1 To 3
If Controls("option" & i).Value = True Then
Select Case i
Case Is = 1
WindowsMediaPlayer1.URL=
Case Is = 2
WindowsMediaPlayer1.URL=
Case Is = 3
WindowsMediaPlayer1.URL=
End Select
End If
Next
End Sub
Private Sub Command2_Click()
WindowsMediaPlayer1.Controls.stop
End Sub
Private Sub Command1_Click()
For i = 1 To 3
If Controls("option" & i).Value = True Then
Select Case i
Case Is = 1
WindowsMediaPlayer1.URL=
Case Is = 2
WindowsMediaPlayer1.URL=
Case Is = 3
WindowsMediaPlayer1.URL=
End Select
End If
Next
End Sub
Private Sub Command2_Click()
WindowsMediaPlayer1.Controls.stop
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询