奇怪,为什么我在程序中加了热键的功能,MediaPlayer就不能连续播放了

ykb 2005-05-12 03:53:23
Private Sub Form_Load()
ProcessMessages '不掉用这句就可以连续播放
MPlayer.FileName = "wav/1.wav"
MPlayer.Play
End Sub

Private Sub MPlayer_PlayStateChange(ByVal OldState As Long, ByVal NewState As Long)
If NewState = 0 Then
intNum = intNum + 1
If intNum > 4 Then
cmdNext.Enabled = True
Exit Sub
End If
MPlayer.FileName = "wav/" & arrNum(intNum) & ".wav"
MPlayer.Play
End If
End Sub

'加了下面这句就不能连续播放了
Public Sub ProcessMessages()
Dim Message As Msg
Do While Not bCancel
WaitMessage
If PeekMessage(Message, Me.hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
Select Case Message.wParam '根据刚才注册的键来判断
Case 11112
'Debug.Print "按了CTRL+A"
If Is_Show Then
Is_Show = False
Else
Is_Show = True
End If
Case 11113
Debug.Print "按了CTRL+SHIFT+B"
Case 11114
Debug.Print "按了CTRL+SHIFT+C"
End Select
End If
DoEvents
Loop
End Sub
...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykb 2005-05-16
  • 打赏
  • 举报
回复
哪位高人能帮忙解决一下?
ykb 2005-05-14
  • 打赏
  • 举报
回复
up
ykb 2005-05-13
  • 打赏
  • 举报
回复
to: suolong123
多线程怎么做?可以说的详细点吗?



to:seraph2
我在loop上面已经加了DoEvents
seraph2 2005-05-13
  • 打赏
  • 举报
回复
do while 加入一条 doevents 试一下!
DooDu 2005-05-13
  • 打赏
  • 举报
回复
当然了!
你用了 While -loop 型循环,可以试试用多线程解决你的问题
Mars.CN 2005-05-13
  • 打赏
  • 举报
回复
帮你顶

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧