Hallo,
Wenn ich einen wmp Objekt mit AutoIt in eine GUI einbinde wartet das ganze Script, bis es das Medium fertig geladen hat.
Gibt es eine möglichkeit es "paralell" laufen zu lassen?
Also, dass das ganze Scipt nicht deswegen angehalten wird,
Hallo,
Wenn ich einen wmp Objekt mit AutoIt in eine GUI einbinde wartet das ganze Script, bis es das Medium fertig geladen hat.
Gibt es eine möglichkeit es "paralell" laufen zu lassen?
Also, dass das ganze Scipt nicht deswegen angehalten wird,
Hi,
kann man das irgendwie nachvollziehen?
Mega
Sry hab vergessen einen Testscript zu posten. :pinch:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.13.2 (beta)
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$oPlayer = _wmpcreate(0, 0, 0, 160, 165)
_wmpvalue($oPlayer, "controls")
$oIE = _IECreateEmbedded()
_wmploadmedia($oPlayer, "http://www.bellyup4blues.com/files/bu4b/bu4b.asx", 1)
;Hier sol es ohne zu verzögern weiter ausgeführt werden
MsgBox(0,"","Verzögert")
[/autoit] [autoit][/autoit] [autoit]Func _wmpcreate($show, $left, $top, $width = 100, $height = 100)
$oWMP = ObjCreate("WMPlayer.OCX")
If $oWMP = 0 Then Return 0
If $show = 1 Then
GUICtrlCreateObj($oWMP, $left, $top, $width, $height)
EndIf
Return $oWMP
EndFunc ;==>_wmpcreate
Func _wmploadmedia(ByRef $object, $URL, $autostart = 1)
$object.URL = $URL
While Not $object.controls.isAvailable("play")
Sleep(1)
WEnd
If $autostart = 1 Then $object.controls.play()
EndFunc ;==>_wmploadmedia
Func _wmpvalue($object, $setting, $para = 1)
Select
Case $setting = "play"
If $object.controls.isAvailable("play") Then $object.controls.play()
Case $setting = "stop"
If $object.controls.isAvailable("stop") Then $object.controls.stop()
Case $setting = "pause"
If $object.controls.isAvailable("pause") Then $object.controls.pause()
Case $setting = "invisible"
$object.uiMode = "invisible"
Case $setting = "controls"
$object.uiMode = "mini"
Case $setting = "nocontrols"
$object.uiMode = "none"
Case $setting = "fullscreen"
$object.fullscreen = "true"
Case $setting = "step"
If $object.controls.isAvailable("step") Then $object.controls.Step ($para)
Case $setting = "fastForward"
If $object.controls.isAvailable("fastForward") Then $object.controls.fastForward()
Case $setting = "fastReverse"
If $object.controls.isAvailable("fastReverse") Then $object.controls.fastReverse()
Case $setting = "volume"
$object.settings.volume = $para
Case $setting = "rate"
$object.settings.rate = $para
Case $setting = "playcount"
$object.settings.playCount = $para
Case $setting = "setposition"
$object.controls.currentPosition = $para
Case $setting = "getposition"
Return $object.controls.currentPosition
Case $setting = "getpositionstring";Returns HH:MM:SS
Return $object.controls.currentPositionString
Case $setting = "getduration"
Return $object.currentMedia.duration
EndSelect
EndFunc ;==>_wmpvalue
Func _EnableStartUp()
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\" & "Desktop Radio")
EndFunc ;==>_EnableStartUp
Func _DisableStartUp()
FileDelete(@StartupDir & "\" & "Desktop Radio.lnk")
EndFunc ;==>_DisableStartUp
nein ... er will 2 bjecte in sein script...und diese sollen nict das laden des guis behindern
Nur den wmp object. jA DAS MEIN ICH!!!
ahso da kann ich dir nicht helfen .... eigentlich wird das ja parallel erstellt... ist zu mindestens bei _IE so
Ändert dies was?
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.13.2 (beta)
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]Global $oPlayer = _wmpcreate(0, 0, 0, 160, 165)
_wmpvalue($oPlayer, "controls")
$oIE = _IECreateEmbedded()
Global $ready = False, $auto = 0
[/autoit] [autoit][/autoit] [autoit]_wmploadmedia($oPlayer, "http://www.bellyup4blues.com/files/bu4b/bu4b.asx", 1)
[/autoit] [autoit][/autoit] [autoit];~ MsgBox(0, "", "Verzögert")
[/autoit] [autoit][/autoit] [autoit]While 1
ToolTip(@HOUR & ':' & @MIN & ':' & @SEC & @CRLF & 'Abspielbereit : ' & $ready)
Sleep(250)
WEnd
Func _wmpcreate($show, $left, $top, $width = 100, $height = 100)
$oWMP = ObjCreate("WMPlayer.OCX")
If $oWMP = 0 Then Return 0
If $show = 1 Then
GUICtrlCreateObj($oWMP, $left, $top, $width, $height)
EndIf
Return $oWMP
EndFunc ;==>_wmpcreate
Func _wmploadmedia(ByRef $object, $URL, $autostart = 1)
$auto = $autostart
$object.URL = $URL
AdlibEnable('checkStatus', 100)
EndFunc ;==>_wmploadmedia
Func checkStatus()
If $oPlayer.controls.isAvailable("play") = True Then
$ready = True
If $auto = 1 Then $oPlayer.controls.play()
AdlibDisable()
EndIf
EndFunc ;==>checkStatus
Func _wmpvalue($object, $setting, $para = 1)
Select
Case $setting = "play"
If $object.controls.isAvailable("play") Then $object.controls.play()
Case $setting = "stop"
If $object.controls.isAvailable("stop") Then $object.controls.stop()
Case $setting = "pause"
If $object.controls.isAvailable("pause") Then $object.controls.pause()
Case $setting = "invisible"
$object.uiMode = "invisible"
Case $setting = "controls"
$object.uiMode = "mini"
Case $setting = "nocontrols"
$object.uiMode = "none"
Case $setting = "fullscreen"
$object.fullscreen = "true"
Case $setting = "step"
If $object.controls.isAvailable("step") Then $object.controls.Step ($para)
Case $setting = "fastForward"
If $object.controls.isAvailable("fastForward") Then $object.controls.fastForward()
Case $setting = "fastReverse"
If $object.controls.isAvailable("fastReverse") Then $object.controls.fastReverse()
Case $setting = "volume"
$object.settings.volume = $para
Case $setting = "rate"
$object.settings.rate = $para
Case $setting = "playcount"
$object.settings.playCount = $para
Case $setting = "setposition"
$object.controls.currentPosition = $para
Case $setting = "getposition"
Return $object.controls.currentPosition
Case $setting = "getpositionstring";Returns HH:MM:SS
Return $object.controls.currentPositionString
Case $setting = "getduration"
Return $object.currentMedia.duration
EndSelect
EndFunc ;==>_wmpvalue
Func _EnableStartUp()
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\" & "Desktop Radio")
EndFunc ;==>_EnableStartUp
Func _DisableStartUp()
FileDelete(@StartupDir & "\" & "Desktop Radio.lnk")
EndFunc ;==>_DisableStartUp
Mega