Windowsmediaplayer in Gui einbinden

  • Hi @all ,

    ich hätte da mal eine Frage, wäre es möglich den Windowsmediaplayer in eine Gui einzubauen und durch verschiedene Buttons Radio Streams an den WMP zu übergeben ?

    Ich habe es schon gegoogelt jedoch nicht verstanden :( Ich will mir ein Radio zusammenbasteln und am liebsten wäre es mir mit dem WMP in meiner gui, damit die Seiten nicht aufgerufen werden müssen.

    Ich bedanke mich im voraus

  • das is nicht schwer :) Hier hast die UDF

    Spoiler anzeigen
    [autoit]

    Func _wmpcreate($show, $left, $top, $width = 100, $height = 100)
    $oWMP = ObjCreate("WMPlayer.OCX")
    If $oWMP = 0 Then Return 0
    $oWMP.settings.autoStart = "False"
    If $show = 1 Then
    GUICtrlCreateObj($oWMP, $left, $top, $width, $height)
    EndIf
    Return $oWMP
    EndFunc

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

    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

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

    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

    [/autoit]
  • danke schonmal für deine hilfe ;)

    kannst du mir das vllt. einwenig erklären, denn ich verstehe da nur bahnof! Wie müsste das aussehen wenn ich die Streams per Botton kilcks an den WMP übergeben möchte ?

  • Hier ein Beispiel TB FM
    (mit Esc beenden)

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    HotKeySet ("{ESC}" ,"_Ende")
    $IEGUI = GUICreate("WebRadio",200,200)
    GUISetBkColor(0)
    $oWMP = _wmpcreate(1,0,0,200,200)
    _wmpvalue($oWMP,"controls")

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

    _wmploadmedia($oWMP,'http://listen.TechnoBase.FM/dsl.asx',1)

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

    While 1
    Sleep (500)
    WEnd

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

    Func _wmpcreate($show, $left, $top, $width = 100, $height = 100)
    $oWMP = ObjCreate("WMPlayer.OCX")
    If $oWMP = 0 Then Return 0
    $oWMP.settings.autoStart = "False"
    If $show = 1 Then
    GUICtrlCreateObj($oWMP, $left, $top, $width, $height)
    EndIf
    Return $oWMP
    EndFunc

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

    Func _Ende ()
    _wmpvalue ($oWMP , "stop")
    Exit
    EndFunc
    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

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

    Func _wmpvalue( $object, $setting, $para=1 ) ; hier kannst du zum beispiel _wmpvalue ($oWMP , "pause")
    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

    [/autoit]
  • ahhh habs... GUISetState(@SW_SHOW) hat gefehlt.. ich danke dir ;) ich versuche jetzt mal was zusammen zu basteln