要求挺多呀,用WindowsMediaPlayer控件,代码也给你贴上吧
Dim songname$, appdisk$, aa$
Private Sub Command1_Click()
Dim time As Integer
If Command6.Caption = "暂停" Then
If WindowsMediaPlayer1.URL = "" Then
mciSendString("pause " & songname, vbNullString, 0, 0)
'暂停歌曲播放
Else
WindowsMediaPlayer1.Controls.pause()
End If
Command6.Caption = "继续"
ElseIf Command6.Caption = "继续" Then
If WindowsMediaPlayer1.URL = "" Then
mciSendString("play " & songname & " repeat", vbNullString, 0, 0)
'歌曲循环播放,去除 & " repeat" 则取消循环
Else
WindowsMediaPlayer1.Controls.play()
End If
Command6.Caption = "暂停"
End If
End Sub
'加载歌曲
Private Sub Form_Load()
On Error Resume Next
'忽略错误,有错误的时候不显示
WindowsMediaPlayer1.Visible = False
Command4.Enabled = False
appdisk = Trim(App.Path)
If Right(appdisk, 1) <> "\\" Then appdisk = appdisk & "\\"
aa = "system.mp3"
If InStr(aa, " ") > 0 Then
'判断歌曲名是否有空格,有的话就去掉,并拷备为没空格的新歌曲名(在同一路径下)
songname = Replace(aa, " ", "")
FileCopy(appdisk & aa, appdisk & songname)
Else
songname = aa
End If
If InStr(appdisk, " ") > 0 Then
'判断路径是否有空格
FileCopy(appdisk & songname, Left(appdisk, 3) & songname)
'将歌曲拷到windows系统盘符下.
songname = Left(appdisk, 3) & songname
Else
songname = appdisk & songname
End If
mciSendString("play " & songname & " repeat", vbNullString, 0, 0)
'歌曲循环播放,去除 & " repeat" 则取消循环
End Sub
'关闭程序时 卸载内存中的歌曲
Private Sub Form_Unload(ByVal Cancel As Integer)
mciSendString("stop " & songname, vbNullString, 0, 0)
End Sub