ShockwaveFlash fragen

  • Hallo,

    ich habe versucht mit Autoit einen Video durch myvideo abspielen zu lassen aber leider klappt es nicht.
    Es kommt kein Video zustande :pinch:


    [autoit]

    #include <IE.au3>
    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Global $lastURL = ""
    $IEGUI = GUICreate("WebRadio",400,400)

    [/autoit][autoit][/autoit][autoit]

    $oAFP = _flashcreate(1, 1, 1, 400, 400)

    [/autoit][autoit][/autoit][autoit]

    _flashvalue($oAFP, "Play")

    [/autoit][autoit][/autoit][autoit]

    _flashloadmedia($oAFP, "http://myvideo-356.vo.llnwd.net/d3/movie7/b3/3237357.flv")

    [/autoit][autoit][/autoit][autoit]

    $oIE = _IECreateEmbedded()

    [/autoit][autoit][/autoit][autoit]

    $GuiIE = GUICtrlCreateObj($oIE,0,0,100,100)
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateObj($oIE,0,0)

    [/autoit][autoit][/autoit][autoit]

    _flashvalue($oAFP, "Play")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(1000)
    WEnd

    [/autoit]
  • Hier:

    [autoit]

    ;----------------------------------
    ;------Adobe Flash Functions-------
    ;----------------------------------

    [/autoit][autoit][/autoit][autoit]

    #cs
    _flashcreate($show, $left, $top, $width = 100, $height = 100)
    $show: 1 = creates the control
    2 = doesn't create the control

    [/autoit][autoit][/autoit][autoit]

    Return: The object for the control
    #ce
    Func _flashcreate($show, $left, $top, $width = 100, $height = 100)
    If FileFindFirstFile(@SystemDir & "\Macromed\Flash\flash*.ocx") = -1 Then
    $Value = MsgBox(20, "Error", "It seems that you don't have Flash Player installed. Please download" & @CRLF & "it from http://www.adobe.com. Do you want to go there now?")
    If $Value = 6 Then
    ShellExecute("www.adobe.com")
    EndIf
    Exit
    EndIf
    $oFlash = ObjCreate("ShockwaveFlash.ShockwaveFlash")
    If $oFlash = 0 Then Return 0
    If $show = 1 Then
    GUICtrlCreateObj($oFlash, $left, $top, $width, $height)
    EndIf
    Return $oFlash
    EndFunc
    #cs
    _flashloadmedia($object, $URL)
    $object: Object returned from the _flashcreate()
    $URL: Path or URL of the media
    Return: None
    #ce
    Func _flashloadmedia($object, $URL)
    $object.LoadMovie(0, $URL)
    EndFunc
    #cs
    _flashsetvalue($object, $setting)
    $object: Object returned from the _flashcreate()
    $setting: "play"
    "stop"

    [/autoit][autoit][/autoit][autoit]

    Return: None
    #ce
    Func _flashvalue($object, $setting)
    Select
    Case $setting = "play"
    $object.play()
    Case $setting = "stop"
    $object.stop()
    EndSelect
    EndFunc

    [/autoit]
  • Du musst einen SWF-Player embedden:
    Bsp. mit: http://www.jeroenwijering.com/?item=Supported_Flashvars

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Global $lastURL = ""
    $IEGUI = GUICreate("WebRadio",400,400)

    [/autoit] [autoit][/autoit] [autoit]

    $oAFP = _flashcreate(1, 1, 1, 400, 400)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ _flashvalue($oAFP, "Play")

    [/autoit] [autoit][/autoit] [autoit]

    _flashloadmedia($oAFP, "http://www.jeroenwijering.com/embed/player.swf")

    [/autoit] [autoit][/autoit] [autoit]

    ;~ $oIE = _IECreateEmbedded()

    [/autoit] [autoit][/autoit] [autoit]

    ;~ $GuiIE = GUICtrlCreateObj($oIE,0,0,100,100)
    GUISetState()
    _flashvalue($oAFP, "Play")
    ;~ GUICtrlCreateObj($oIE,0,0)

    [/autoit] [autoit][/autoit] [autoit]

    $Vars = ""

    [/autoit] [autoit][/autoit] [autoit]

    $File = "http://myvideo-356.vo.llnwd.net/d3/movie7/b3/3237357.flv"
    $w = 400
    $h = 400
    $image = "http://is1.myvideo.de/movie6/39/thumbs/2932171_1.jpg"

    [/autoit] [autoit][/autoit] [autoit]

    If $file Then $Vars &= "&file=" & $file
    If $w Then $Vars &= "&width=" & $w
    If $h Then $Vars &= "&height=" & $h
    If $image Then $Vars &= "&image=" & $image

    [/autoit] [autoit][/autoit] [autoit]

    ; Weiter Eigenschaften nach diesem Schema von http://www.jeroenwijering.com/?item=Supported_Flashvars adden ;)

    [/autoit] [autoit][/autoit] [autoit]

    $oAFP.FlashVars = StringTrimLeft($Vars,1)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(1000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;----------------------------------
    ;------Adobe Flash Functions-------
    ;----------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    _flashcreate($show, $left, $top, $width = 100, $height = 100)
    $show: 1 = creates the control
    2 = doesn't create the control

    [/autoit] [autoit][/autoit] [autoit]

    Return: The object for the control
    #ce
    Func _flashcreate($show, $left, $top, $width = 100, $height = 100)
    If FileFindFirstFile(@SystemDir & "\Macromed\Flash\flash*.ocx") = -1 Then
    $Value = MsgBox(20, "Error", "It seems that you don't have Flash Player installed. Please download" & @CRLF & "it from http://www.adobe.com. Do you want to go there now?")
    If $Value = 6 Then
    ShellExecute("www.adobe.com")
    EndIf
    Exit
    EndIf
    $i = 10
    Do
    $i -= 1
    $oFlash = ObjCreate("ShockwaveFlash.ShockwaveFlash." & $i)
    Until Not @error Or $i < = 0

    If $oFlash = 0 Then Return 0
    If $show = 1 Then
    GUICtrlCreateObj($oFlash, $left, $top, $width, $height)
    EndIf
    Return $oFlash
    EndFunc
    #cs
    _flashloadmedia($object, $URL)
    $object: Object returned from the _flashcreate()
    $URL: Path or URL of the media
    Return: None
    #ce
    Func _flashloadmedia(ByRef $object, $URL)
    $object.LoadMovie(0, $URL)
    EndFunc
    #cs
    _flashsetvalue($object, $setting)
    $object: Object returned from the _flashcreate()
    $setting: "play"
    "stop"

    [/autoit] [autoit][/autoit] [autoit]

    Return: None
    #ce
    Func _flashvalue(ByRef $object, $setting)
    Select
    Case $setting = "play"
    $object.play()
    Case $setting = "stop"
    $object.stop()
    EndSelect
    EndFunc

    [/autoit]
  • Kurze Nachfrage zu diesem Thema:

    muss der SWF-Player immer aus dem Netz sein?
    Oder kann der auch lokal irgendwo auf der Festplatte liegen.

    Überhaupt:
    Wieso funktioniert das nicht, wenn ich sowohl den Player (SWF) als auch die Datei (flv) auf die lokale Platte speichere?

    [autoit]

    _flashloadmedia($oAFP, "c:\temp\player.swf") ; vormals: http://www.jeroenwijering.com/embed/player.swf
    GUISetState()
    _flashvalue($oAFP, "Play")
    $Vars = ""
    $File = "C:\TEMP\simpson.flv"

    [/autoit]

    Danke
    Carsten

    P.S: Wenn wir schon dabei sind:
    Gibt es einen anderen Player ohne Steuerleiste? Ich hätte gerne nur den Film in einem GUI-Fenster

    3 Mal editiert, zuletzt von Carsten (28. Juni 2008 um 18:08)

  • Du musst nur
    shownavigation auf false setzen:

    [autoit]

    $shownavigation = "False"
    If $shownavigation <> "" Then $Vars &= "&shownavigation=" & $shownavigation

    [/autoit]

    Ähhm, ich hab die Reihenfolge falsch rum gehabt. Der Player darf erst nach dem Setzen der Variablen geladen werden.

    [autoit]

    $oAFP.FlashVars = StringTrimLeft($Vars,1)
    _flashloadmedia($oAFP, "D:\TEMP\swf\mediaplayer.swf")

    [/autoit]


    Aus dem Internet war das egal, da er erst später fertig geladen war, nachdem die Variablen gesetzt wurden :(

  • Hallo progandy,
    funktioniert bestens ..... auch lokal.

    sogar mit Animation + Mausaktivität :)
    Einfach dieses Beispiel anstatt den Mediaplayer einsetzen:

    [autoit]


    ;Datei holen
    InetGet ( "http://www.jensschwarz.net/flash/auto.swf","c:\temp\auto.swf" )
    ;....
    ; und hier einbinden:
    _flashloadmedia($oAFP, "c:\temp\auto.swf")

    [/autoit][autoit][/autoit][autoit][/autoit]

    Noch eine Frage:
    Kann ich das Flashobjekt auch wieder wegmachen? d.h. ähnlich diesem Befehl:
    GUICtrlSetState($flash,$GUI_DISABLE)

    Ach und.... gibt es auch noch einen Schalter um die Suchleiste inaktiv zu setzen?
    ($showsearch vielleicht? Sollte ich mal probieren :) )

    Grüße
    Carsten