DLNA / UPNP Client mit Autoit

  • Hallo zusammen,

    hat jemand von euch schon Erfahrungen gesammelt, wie man per Autoit mit einem DLNA-Server (zum Beispiel dem iCord) kommunizieren kann (also z.B. Streamen oder eine Liste der vorhandenen Medien anzeigen, etc.)?

    Auf dieser Seite hier (http://www.autoitscript.com/forum/topic/57…es-in-side-out/) wird zumindest schon mal gezeigt, wie man die UPNP-Devices auflisten kann, und die Hilfestellung von Microsoft dazu ist auch vorhanden (aber in diesem Fall leider recht dürftig an Beispielen).

    Mit dem auf der Seite aufgeführten Skript wird der iCord immerhin schon mal gefunden und man kann sich die Infos zum Gerät anzeigen lassen:

    Spoiler anzeigen
    [autoit]

    ; http://msdn2.microsoft.com/en-us/library/aa382297.aspx

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

    Dim $deviceFinder
    Dim $DeviceType
    Dim $Devices
    Dim $Device
    Dim $strDescDocURL

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

    $DeviceFinder = ObjCreate( "UPnP.UPnPDeviceFinder" )
    $DeviceServices = ObjCreate( "UPnP.UPnPServices" )
    $DeviceService = ObjCreate( "UPnP.UPnPService" )
    $Device = ObjCreate( "UPnP.UPnPDevice" )

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

    $DeviceType = "upnp:rootdevice"
    $Devices = $DeviceFinder.FindByType($DeviceType,0)

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

    ;$strDescDocURL = $DescriptionDoc.GetDocumentURL
    ConsoleWrite( $strDescDocURL & @LF)

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

    ConsoleWrite( "Found # :" & $Devices.Count & " Devices" & @LF & @LF)
    ;ConsoleWrite( "Services # :" & $DeviceService.Count & " Devices" & @LF & @LF)

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

    For $DeviceObj in $Devices
    ConsoleWrite("Children " & $DeviceObj.Children & @CRLF)
    ConsoleWrite("Description " & $deviceObj.Description& @CRLF)
    ConsoleWrite("FriendlyName " & $deviceObj.FriendlyName & @CRLF)
    ConsoleWrite("HasChildren " & $deviceObj.HasChildren & @CRLF)
    ConsoleWrite("IsRootDevice " & $deviceObj.IsRootDevice & @CRLF)
    ConsoleWrite("ManufacturerName " & $deviceObj.ManufacturerName & @CRLF)
    ConsoleWrite("ManufacturerURL " & $deviceObj.ManufacturerURL & @CRLF)
    ConsoleWrite("ModelName " & $deviceObj.ModelName & @CRLF)
    ConsoleWrite("ModelNumber " & $deviceObj.ModelNumber & @CRLF)
    ConsoleWrite("ModelURL " & $deviceObj.ModelURL & @CRLF)
    ConsoleWrite("ParentDevice " & $deviceObj.ParentDevice & @CRLF)
    ConsoleWrite("PresentationURL " & $deviceObj.PresentationURL & @CRLF)
    ConsoleWrite("RootDevice " & $deviceObj.RootDevice & @CRLF)
    ConsoleWrite("SerialNumber " & $deviceObj.SerialNumber & @CRLF)
    ConsoleWrite("Services " & $deviceObj.Services & @CRLF)
    ConsoleWrite("Device URN Type " & $deviceObj.Type & @CRLF)
    ConsoleWrite("UniqueDeviceName " & $deviceObj.UniqueDeviceName & @CRLF)
    ConsoleWrite("Product Code - UPC " & $deviceObj.UPC & @CRLF)
    ConsoleWrite(@LF)
    Next

    [/autoit]


    Ich versuche mal noch mehr hinzubekommen, aber falls jemand schon ein paar Code-Schnipsel hätte, wäre das natürlich super. :party:

    Danke und Gruß
    Trainer