最近几天我也做了一个FLASH播放器。你说的是不是要点击FLASH文件中的播放按钮,才开始播放,而你想去掉这个手工操作? 我的解决办法是:加个定时器,每隔一小段时间触发一下,比如(500毫秒),再在定时触发事件中加入如下代码: Try Static intCurrentFrame As Integer = -1 If Me.tsbAutoStart.Checked AndAlso intCurrentFrame = Me.AxShockwaveFlash1.CurrentFrame AndAlso Me.m_enuPlayStateLast = PlayStateEnum.Play Then If Me.AxShockwaveFlash1.TotalFrames - Me.AxShockwaveFlash1.CurrentFrame < 10 Then Select Case Me.m_enuPlayOrder Case PlayOrderEnum.DanQu Me.AxShockwaveFlash1.Play() Case PlayOrderEnum.DanQuXunHuan Me.AxShockwaveFlash1.Play() Case PlayOrderEnum.ShunXu, PlayOrderEnum.ShunXuXunHuan, PlayOrderEnum.ShuiJi Call PlayNext() End Select Else Me.AxShockwaveFlash1.Play() End If End If intCurrentFrame = Me.AxShockwaveFlash1.FrameNum Catch ex As Exception End Try 说明:一定要判断那个FLASH文件是不是停在那里(也就是说等待你去按按钮的状态),是才执行,不能无停止的执行Me.AxShockwaveFlash1.Play(),不然会使flash播放一顿一顿的。 Me.tsbAutoStart.Checked:自动播放状态标志。 intCurrentFrame = Me.AxShockwaveFlash1.CurrentFrame :比较播放帧数与上一次是不是相同(相同说明停顿在按钮的地方) Me.m_enuPlayStateLast = PlayStateEnum.Play :这个是我自定义的,保存播放状态(播放,暂停,停止),因为暂停与停止的时候,帧数总会是与前一次相同的,当然你也可以在暂停或是停止的时候,使这个定时器停止工作。
参考一下,看看有没有帮助!
real格式<param name="AUTOSTART" value="1">
我的解决办法是:加个定时器,每隔一小段时间触发一下,比如(500毫秒),再在定时触发事件中加入如下代码:
Try
Static intCurrentFrame As Integer = -1
If Me.tsbAutoStart.Checked AndAlso intCurrentFrame = Me.AxShockwaveFlash1.CurrentFrame AndAlso Me.m_enuPlayStateLast = PlayStateEnum.Play Then
If Me.AxShockwaveFlash1.TotalFrames - Me.AxShockwaveFlash1.CurrentFrame < 10 Then
Select Case Me.m_enuPlayOrder
Case PlayOrderEnum.DanQu
Me.AxShockwaveFlash1.Play()
Case PlayOrderEnum.DanQuXunHuan
Me.AxShockwaveFlash1.Play()
Case PlayOrderEnum.ShunXu, PlayOrderEnum.ShunXuXunHuan, PlayOrderEnum.ShuiJi
Call PlayNext()
End Select
Else
Me.AxShockwaveFlash1.Play()
End If End If intCurrentFrame = Me.AxShockwaveFlash1.FrameNum
Catch ex As Exception End Try
说明:一定要判断那个FLASH文件是不是停在那里(也就是说等待你去按按钮的状态),是才执行,不能无停止的执行Me.AxShockwaveFlash1.Play(),不然会使flash播放一顿一顿的。
Me.tsbAutoStart.Checked:自动播放状态标志。
intCurrentFrame = Me.AxShockwaveFlash1.CurrentFrame :比较播放帧数与上一次是不是相同(相同说明停顿在按钮的地方)
Me.m_enuPlayStateLast = PlayStateEnum.Play :这个是我自定义的,保存播放状态(播放,暂停,停止),因为暂停与停止的时候,帧数总会是与前一次相同的,当然你也可以在暂停或是停止的时候,使这个定时器停止工作。