If Me.MediaPlayer1.URL <> rs!BaoCunLuJing Then
     Me.MediaPlayer1.URL = rs!BaoCunLuJing
     Me.MediaPlayer1.Controls.pause
End If
me.MediaPlayer1.Controls.currentPosition = (Section_start - Me.txtLiCheng.Text) * 0.04
Me.MediaPlayer1.Controls.pause
大家帮忙看看,如果是逐语句的运行那么就可以暂停在我要找的位置处,但如果直接运行的话在,就不会播放而是继续播放。很奇怪,有什么办法吗?

解决方案 »

  1.   

    写错了,是如果直接运行的话,就不会暂停而是继续播放
    Me.MediaPlayer1.Controls.pause感觉是
    只有在逐句运行时才起作用
      

  2.   

    是否有继续播放的后续语句?If Me.MediaPlayer1.URL <> rs!BaoCunLuJing Then
         Me.MediaPlayer1.URL = rs!BaoCunLuJing
         Me.MediaPlayer1.Controls.pause
         Exit Sub
    End If
    me.MediaPlayer1.Controls.currentPosition = (Section_start - Me.txtLiCheng.Text) * 0.04
    Me.MediaPlayer1.Controls.pause
    Exit Sub
      

  3.   

    to  of123() 我后面没有播放的后续语句,而且我也试过新建一个工程,只有段代码:
    Private Sub Form_Load()
        Me.MediaPlayer1.URL = "E:\Fun\不是我不小心.mp3"
        Me.MediaPlayer1.Controls.pause    
    End Sub
    运行发现根本就不暂停,但是设了断点然后逐语句运行就暂停了。
    我今天是这样解决的,我加了个timer:
    Private Sub Timer1_Timer()
        If Me.MediaPlayer1.playState = wmppsPlaying Then
            MediaPlayer1.Controls.pause
            Me.MediaPlayer1.Controls.currentPosition = LocaPosition
            Me.Timer1.Enabled = False
        End If
    End Sub原来的那段改成:
    If Me.MediaPlayer1.URL <> rs!BaoCunLuJing Then
       Me.MediaPlayer1.URL = rs!BaoCunLuJing
       LocaPosition = Abs(Me.txtLiCheng.Text - Section_start) * 0.04
       Me.Timer1.Enabled = True
    end if结果就成功了。但还是不怎么清楚MediaPlayer的机理。