Code : Tout sélectionner
;http://msdn.microsoft.com/en-us/library/dd757161%28VS.85%29.aspx
;http://msdn.microsoft.com/en-us/library/dd743572%28v=VS.85%29.aspx
#include <GuiConstants.au3>
Opt("WinTitleMatchMode",2)
Opt("OnExitFunc","_exit")
Opt("GuiOnEventMode",1)
Global $mystatus = "Paused"
Global $pause = 0
$GUI = GuiCreate("VideoPlayer",660,560,500,100)
$PLAY = GUICtrlCreateButton("Play",41,2,40,30)
$PAUSEBUT = GUICtrlCreateButton("Pause",82,2,40,30)
$STOP = GUICtrlCreateButton("Stop",123,2,40,30)
$LOAD = GUICtrlCreateButton("Load",164,2,40,30)
$STATUS = GUICtrlCreateLabel("Status: "&$mystatus&@CRLF,206,0,-1,30)
GuiSetState()
GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")
;GUISetOnEvent($GUI_EVENT_MINIMIZE,"_Minimize")
;GUISetOnEvent($GUI_EVENT_RESTORE,"_Restore")
GuiCtrlSetOnEvent($PLAY,"_Play")
GuiCtrlSetOnEvent($STOP,"_Stop")
GuiCtrlSetOnEvent($LOAD,"_Load")
GuiCtrlSetOnEvent($PAUSEBUT,"_Pause")
HotKeySet("^{DEL}","_Exit")
While 1
sleep(50)
Wend
Func mciSendString($string)
Local $ret
$ret = DllCall("winmm.dll","int","mciSendStringA","str",$string,"str","","int",65534,"hwnd",0)
If Not @error Then Return $ret[2]
EndFunc
Func _Load()
mciSendString("Close myvideo")
$file = FileOpenDialog("OPEN",@scriptdir,"Video (*.avi;*.mpg)")
$file = '"'&$file&'"'
mciSendString("open "&$file&" alias myvideo wait")
mciSendString("window myvideo handle " & Number($GUI))
mciSendString("put myvideo destination at " & 10 & ' ' & 50 & ' ' & 640 & ' ' & 480)
_Play()
EndFunc
Func _Play()
_Stop()
$pause = 0
; mciSendString("set myvideo seek exactly on")
; mciSendString("seek myvideo to 9750")
; mciSendString("cue myvideo from 9750 to 10200")
; mciSendString("play myvideo from 9750 to 10200") ; repeat")
mciSendString("play myvideo")
Sleep(100)
;WinSetState($wintitle,"",@SW_SHOW)
; mciSendString("set myvideo speed 600")
$mystatus = "PLAYING"
Guictrlsetdata($STATUS,"Status: "&$mystatus&@CRLF)
EndFunc
Func _Stop()
mciSendString("Stop myvideo")
mciSendString("seek myvideo to start")
$mystatus = "STOPPED"
Guictrlsetdata($STATUS,"Status: "&$mystatus&@CRLF)
EndFunc
Func _Pause()
If $pause = 0 Then
mciSendString("pause myvideo")
$mystatus = "PAUSED"
Guictrlsetdata($STATUS,"Status: "&$mystatus&@CRLF)
$pause = 1
Else
mciSendString("resume myvideo")
$mystatus = "PLAYING"
Guictrlsetdata($STATUS,"Status: "&$mystatus&@CRLF)
$pause = 0
EndIf
EndFunc
;Func _Minimize()
; WinSetState("VideoMovie","",@SW_MINIMIZE)
;EndFunc
;Func _Restore()
; WinSetState("VideoMovie","",@SW_RESTORE)
;EndFunc
Func _Exit()
mciSendString("Close myvideo")
Exit
EndFunc