目的:
在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'
類不支持自動化或不支持期望的介面
除錯時再次運行再次單擊播放按鈕時正常。
請問如何解決?
uj5u.com熱心網友回復:
視頻的加載沒那么快,馬上取 ActiveMovie1.Duration 不行。ActiveMovie 有沒有事件,在加載完或播放開始時才能呼叫 HScroll_Ctrl()。
又:函式命名風格不好,下劃線保留給事件用。
uj5u.com熱心網友回復:
感謝Tiger_Zhao老師的解答,不僅針對此問題,而且還指出了規范方面的問題,再次感謝!其他論壇上老師:把HScroll1.Max陳述句移動到Timer1_Timer里面的第一句,前面再來一個On Error Resume Next防止出錯。
——已解決。
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/145042.html
標籤:多媒體
下一篇:請教怎樣進行硬字庫列印
