函数参考


_GUICtrlAVI_Play

在动画控件中播放AVI剪辑

#include <GuiAVI.au3>
_GUICtrlAVI_Play($hWnd [, $iFrom = 0 [, $iTo = -1 [, $iRepeat = -1]]])

参数

$hWnd 控件的控件ID/句柄
$iFrom [可选参数] 从0开始的开始播放帧数. 这个值必须小于 65,536.
值为 0 的意思是从第一帧开始播放剪辑.
$iTo [可选参数] 从0开始的停止播放帧数. 这个值必须小于 65,536.
值为 -1 的意思是结束于剪辑的最后一帧.
$iRepeat [可选参数] 重新播放AVI剪辑的时间. 值为 -1 的意思是不重新播放.

返回值

成功: True
失败: False

注意/说明

控件播放会在后台执行,当前线程会继续执行.

相关

_GUICtrlAVI_Stop, _GUICtrlAVI_Seek

示例/演示


#include <GUIConstantsEx.au3>
#include <GuiAVI.au3>

$Debug_AVI = False ; 检查传递给 AVI 函数的类名, 设置为真并使用另一控件的句柄可以看出它是否有效

Global $hAVI

_Example_Internal()
_Example_External()

Func _Example_Internal()
    Local $btn_start, $btn_stop

    ; 创建 GUI
    GUICreate("(Internal) AVI Play", 300, 200)
    $hAVI = GUICtrlCreateAvi(@SystemDir & "\shell32.dll", 160, 10, 10)
    $btn_start = GUICtrlCreateButton("start", 50, 150, 70, 22)
    $btn_stop = GUICtrlCreateButton("stop", 150, 150, 70, 22)
    GUISetState()

    ; 循环直到用户退出
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $btn_start
                ; 播放 AVI 剪辑的一部分
                _GUICtrlAVI_Play($hAVI)
            Case $btn_stop
                ; 停止 AVI 剪辑
                _GUICtrlAVI_Stop($hAVI)
        EndSwitch
    WEnd

    ; 关闭 AVI 剪辑
    _GUICtrlAVI_Close($hAVI)

    GUIDelete()
EndFunc   ;==>_Example_Internal

Func _Example_External()
    Local $hGUI, $btn_start, $btn_stop

    ; 创建 GUI
    $hGUI = GUICreate("(External) AVI Play", 300, 200)
    $hAVI = _GUICtrlAVI_Create($hGUI, @SystemDir & "\Shell32.dll", 160, 10, 10)
    $btn_start = GUICtrlCreateButton("start", 50, 150, 70, 22)
    $btn_stop = GUICtrlCreateButton("stop", 150, 150, 70, 22)
    GUISetState()

    ; 循环直到用户退出
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $btn_start
                ; 播放 AVI 剪辑的一部分
                _GUICtrlAVI_Play($hAVI)
            Case $btn_stop
                ; 停止 AVI 剪辑
                _GUICtrlAVI_Stop($hAVI)
        EndSwitch
    WEnd

    ; 关闭 AVI 剪辑
    _GUICtrlAVI_Close($hAVI)

    GUIDelete()
EndFunc   ;==>_Example_External