'一个例子:
'反复播放一段音乐的第10秒到第30秒。。。。。。
'模块中:
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
'程序中:
Private Sub Command1_Click()
mciSendString "close MyWav", vbNullString, 0, 0
mciSendString "open e:\abc.mp3 alias MyWav", vbNullString, 0, 0
mciSendString "seek mywav to 10000", vbNullString, 0, 0
mciSendString "play MyWav", vbNullString, 0, 0
Timer1.Interval = 500
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
mciSendString "close MyWav", vbNullString, 0, 0
Timer1.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
mciSendString "close MyWav", vbNullString, 0, 0
End Sub
Private Sub Timer1_Timer()
Dim S As String
S = String(256, Chr(0))
mciSendString "status MyWav position", S, Len(S), 0
If Val(S) >= 30000 Then
mciSendString "seek mywav to 10000", vbNullString, 0, 0
mciSendString "play MyWav", vbNullString, 0, 0
End If
Label1.Caption = S
End Sub
'由于wav普遍都比较短,所以换mp3。。。。。。。。
'模块中:
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
'程序中:
Private Sub Command1_Click()
mciSendString "close MyWav", vbNullString, 0, 0
mciSendString "open e:\abc.mp3 alias MyWav", vbNullString, 0, 0
mciSendString "seek mywav to 20000", vbNullString, 0, 0
mciSendString "play MyWav", vbNullString, 0, 0
Timer1.Interval = 500
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
mciSendString "close MyWav", vbNullString, 0, 0
Timer1.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
mciSendString "close MyWav", vbNullString, 0, 0
End Sub
Private Sub Timer1_Timer()
Dim S As String
S = String(256, Chr(0))
mciSendString "status MyWav mode", S, Len(S), 0
If Left(S, 7) = "stopped" Or Left(S, 2) = "停止" Then
Print "播放完毕。"
Timer1.Enabled = False
Else
mciSendString "status MyWav position", S, Len(S), 0
Label1.Caption = S
End If
End Sub
'模块中:
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
'程序中:
Private Sub Command1_Click()
mciSendString "close MyWav", vbNullString, 0, 0
mciSendString "open c:\logoff.wav alias MyWav", vbNullString, 0, 0
mciSendString "play MyWav", vbNullString, 0, 0
Timer1.Interval = 500
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
mciSendString "close MyWav", vbNullString, 0, 0
Timer1.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
mciSendString "close MyWav", vbNullString, 0, 0
End Sub
Private Sub Timer1_Timer()
Dim S As String
S = String(256, Chr(0))
mciSendString "status MyWav mode", S, Len(S), 0
If Left(S, 7) = "stopped" Or Left(S, 2) = "停止" Then
Print "播放完毕。"
Timer1.Enabled = False
End If
End Sub