当前位置:编程学习 > VB >>

ActiveMovie控件播放视频时,添加的滚动条HScroll不显示进度,请问如何解决?

目的:
在VB中添加一窗体,在窗体中添加一ActiveMovie控件、播放按钮和滚动条HScroll。单击播放按钮时播放视频,滚动条显示进度。

部分语句:
Private Sub Command1_Click()
    ActiveMovie1.FileName = "H:\Temp Save\视频.avi"
    Call HScroll_Ctrl
End Sub

Private Sub Timer1_Timer()
    HScroll1.Value = Int(ActiveMovie1.CurrentPosition) 
    Label2.Caption = HScroll1.Value & "s / " & Int(ActiveMovie1.Duration) & "s"
End Sub

Private Sub HScroll_Ctrl()
    On Error Resume Next
    HScroll1.Max = ActiveMovie1.Duration '把正在播放的FLASH的总帧数设为滚动条的最大范围
    Timer1.Interval = 500 'Timer控件的时间间隔为0.5秒
End Sub

环境:
VB6.0,Windows XP

问题:
运行程序后,单击播放按钮时ActiveMovie控件可以正常播放视频,但滚动条不滚动。再次单击播放按钮时正常(滚动条滚动显示进度)。
当把“HScroll_Ctrl()”过程中的“On Error Resume Next”去掉后,运行时显示:
实时错误'430'
类不支持自动化或不支持期望的接口

调试时再次运行再次单击播放按钮时正常。
请问如何解决? --------------------编程问答-------------------- 视频的加载没那么快,马上取 ActiveMovie1.Duration 不行。
ActiveMovie 有没有事件,在加载完或播放开始时才能调用 HScroll_Ctrl()。

又:函数命名风格不好,下划线保留给事件用。 --------------------编程问答-------------------- 感谢Tiger_Zhao老师的解答,不仅针对此问题,而且还指出了规范方面的问题,再次感谢!

其他论坛上老师:把HScroll1.Max语句移动到Timer1_Timer里面的第一句,前面再来一个On Error Resume Next防止出错。
——已解决。 --------------------编程问答--------------------
补充:VB ,  多媒体
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,