Webradio Titel informationen

  • Abend zusammen

    Ich wusste nicht was ich dem ganzen für eine Überschrift verpassen soll :)

    Ich habe einen Webradio in AutoIt geschrieben, der auch 1a funktioniert.
    Aber jetzt möchte ich noch Informationen wie z.B. was aktuell gerade läuft wie beim VLC-Player (Bild im Anhang)

    Das Webradio füttere ich mit diesem link http://broadcast.infomaniak.ch/energyzuerich-high.mp3.asx

    Hoffe es ist ungefähr verständlich.
    Danke für die Hilfe im Voraus, falls ihr noch etwas benötigt einfach posten!

    LG, Fabian

  • Versuch doch mal so, müsste eigentlich klappen.

    [autoit]

    WinSetTitle($hGui, "", "dein neuer Titel")

    [/autoit]
  • Moin zusammen

    Versuch doch mal so, müsste eigentlich klappen.

    [autoit]

    WinSetTitle($hGui, "", "dein neuer Titel")

    [/autoit]

    Danke, aber das wusste ich schon, ich weiss nur noch nicht wie ich zur Information komme welcher Titel läuft.

    Die Playlist von Energy selbst, eine gute Idee, aber da komm ich als Anfänger in ein Gebiet, dass ich mir noch überhaupt nicht angeschaut habe, also ich meine FF.au3 oder INet.au3

    Den unteren Link werde ich mir mal anschauen.
    Danke!

    Wär interessant zu erfahren, wie du die Musik abspielst. Je nachdem welche Methode du einsetzt gibts verschiedene Möglichkeiten. (Embedded IE?, WMP Objekt, Bass.au3, usw.)?

    Momentan WMP Objekt

    Quellcode:

    Spoiler anzeigen
    [autoit]

    #include <SliderConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #Include <Constants.au3>

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

    Opt("TrayMenuMode",1) ; Standard Traymenüeinträge (Skript pausieren/beenden) werden nicht angezeigt.

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

    ;************************Bilder in Exe einbinden*******************
    FileInstall("C:\Users\Fabian_2\Desktop\AutoIt\InBearbeitung\Energy\Energy Zürich.jpg", @TempDir & "\",1)
    FileInstall("C:\Users\Fabian_2\Desktop\AutoIt\InBearbeitung\Energy\Energy Mix.jpg", @TempDir & "\",1)
    FileInstall("C:\Users\Fabian_2\Desktop\AutoIt\InBearbeitung\Energy\Energy Hot.jpg", @TempDir & "\",1)
    FileInstall("C:\Users\Fabian_2\Desktop\AutoIt\InBearbeitung\Energy\Energy Electro.jpg", @TempDir & "\",1)
    FileInstall("C:\Users\Fabian_2\Desktop\AutoIt\InBearbeitung\Energy\Energy Charts.jpg", @TempDir & "\",1)
    ;******************************************************************

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

    ;************************Variablen*********************************
    Global $Image_Old = "Energy Zürich"
    ;******************************************************************

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

    ;****************Benutzeroberfläche erstellen**********************
    $oWMP = ObjCreate("WMPLayer.ocx")
    $Gui = GUICreate("Energy", 300, 200)
    GUISetBkColor(0x000000,$Gui)
    $Combo1 = GUICtrlCreateCombo("Energy Zürich", 5, 35, 190, 30)
    GUICtrlSetData($Combo1, "Energy Mix|Energy Hot|Energy Electro|Energy Charts", "Energy Zürich")
    $Volume = GUICtrlCreateSlider(250, 25, 30, 150, BitOR($TBS_AUTOTICKS,$TBS_VERT))
    $Status = GUICtrlCreateLabel ( "", 200, 39,10,10)
    $Display_Volume = GUICtrlCreateProgress(240, 30, 10, 140,$PBS_VERTICAL)
    ;$Start = GUICtrlCreateButton("Start", 20, 155, 32, 32,$BS_BITMAP)
    $Start = GUICtrlCreateButton("Start", 20, 155, 75, 25)
    $Stop = GUICtrlCreateButton("Stop", 120, 155, 75, 25)
    $Image = GUICtrlCreatePic(@TempDir & "\Energy Zürich.jpg",5,70,200,60) ;Bild von Energy Zürich laden
    ;*******************************************************************

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

    ;***************TrayMenü Einträge erstellen*************************
    $Tray_Stop = TrayCreateItem ("Stop")
    $Tray_Start = TrayCreateItem ("Start")
    $Tray_Beenden = TrayCreateItem ("Beenden")

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

    ;*******************************************************************

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

    ;*********************Farben des GUi und Ctrl festlegen*************
    GUICtrlSetBkColor ($Start,0x000000) ;Hintergrundfarbe
    GUICtrlSetBkColor ($Stop,0x000000)
    GUICtrlSetBkColor ($Volume,0x000000)
    GUICtrlSetBkColor ($Display_Volume,0xFF0000)
    GUICtrlSetColor ($Start, 0xFF0000) ;Schriftfarbe (rot)
    GUICtrlSetColor ($Stop, 0xFF0000)
    GUICtrlSetColor ($Volume, 0xFF0000)
    GUISetState(@SW_SHOW)
    ;*******************************************************************

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

    ;**************Start Konfiguration**********************************
    GUICtrlSetBkColor ( $Status, 0xFF0000 ) ;Status auf Rot (Inaktiv)
    GUICtrlSetData($Volume, $oWMP.settings.volume())
    GUICtrlSetState($Volume, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    TrayItemSetState($Tray_Stop,$TRAY_DISABLE) ;Tray-Stop wird deaktiviert
    Restart()
    ;******************************************************************

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

    ;*********************Aktionen abfragen****************************
    While True

    Local $Image_Status

    $nMsg = GUIGetMsg() ;GUI-Event abfrage
    Switch $nMsg
    Case $GUI_EVENT_CLOSE ;Schliessen gedrückt
    Exit ;Script beenden
    Case $Start
    Start()
    Case $Stop ;Falls Button Stop gedrückt
    Stop()
    Restart() ;Lautstärke und Slider auf 50%
    Off() ;Status-Anzeige auf Rot
    Case $Volume ;Falls Slider bewegt
    $SetVolume = 100 - GUICtrlRead($Volume) ;Lautstärke 100 - Sliderwert
    $oWMP.settings.volume = $SetVolume ;Lautstärke setzen
    GUICtrlSetData($Display_Volume, $SetVolume) ;Progress auf Lautstärke erhöhen/verringern
    EndSwitch
    $tmsg = TrayGetMsg ( ) ;Tray-Event abfrage

    Switch $tmsg
    Case $Tray_Stop ;Tray-Stop angegklickt
    Stop()
    Restart() ;Lautstärke und Slider auf 50%
    Off() ;Status-Anzeige auf Rot
    Case $Tray_Start ;Tray-Start gewählt
    Start()
    Case $Tray_Beenden ;Tray-Beenden gewählt
    Exit ;Script beenden
    EndSwitch

    $readcombo1 = GUICtrlRead($Combo1) ;Combobox-Eintrag auslesen
    Switch $readcombo1
    Case "Energy Zürich"
    GUICtrlSetImage($Image,@TempDir & "\Energy Zürich.jpg") ;Bild von Energy Zürich anzeigen
    $Image_Status = "Energy Zürich" ;Aktuelles Bild in der GUI in Image_Status setzen
    Aktualisieren () ;Bild aktualisieren (1x verstecken und wieder anzeigen wegen Anzeigefehler)
    Case "Energy Mix"
    GUICtrlSetImage($Image,@TempDir & "\Energy Mix.jpg") ;Bild von Energy Mix anzeigen
    $Image_Status = "Energy Mix" ;Aktuelles Bild in der GUI in Image_Status setzen
    Aktualisieren () ;Bild aktualisieren (1x verstecken und wieder anzeigen wegen Anzeigefehler)
    Case "Energy Hot"
    GUICtrlSetImage($Image,@TempDir & "\Energy Hot.jpg") ;Bild von Energy Hot anzeigen
    $Image_Status = "Energy Hot" ;Aktuelles Bild in der GUI in Image_Status setzen
    Aktualisieren () ;Bild aktualisieren (1x verstecken und wieder anzeigen wegen Anzeigefehler)
    Case "Energy Electro"
    GUICtrlSetImage($Image,@TempDir & "\Energy Electro.jpg") ;Bild von Energy Electro anzeigen
    $Image_Status = "Energy Electro" ;Aktuelles Bild in der GUI in Image_Status setzen
    Aktualisieren () ;Bild aktualisieren (1x verstecken und wieder anzeigen wegen Anzeigefehler)
    Case "Energy Charts"
    GUICtrlSetImage($Image,@TempDir & "\Energy Charts.jpg") ;Bild von Energy Charts anzeigen
    $Image_Status = "Energy Charts" ;Aktuelles Bild in der GUI in Image_Status setzen
    Aktualisieren () ;Bild aktualisieren (1x verstecken und wieder anzeigen wegen Anzeigefehler)
    EndSwitch
    Sleep(10) ;Prozessorauslastung verringern
    WEnd
    ;*********************************************************************

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

    ;***************Setzt den Status der Anzeige auf Rot******************
    Func Off ()
    GUICtrlSetBkColor ( $Status, 0xFF0000 ) ;Status auf Rot
    EndFunc
    ;*********************************************************************

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

    ;***************Setzt den Status der Anzeige auf grün*****************
    Func On ()
    GUICtrlSetBkColor ( $Status, 0x00FF00 ) ;Status auf grün
    EndFunc
    ;*********************************************************************

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

    ;***************Stellt Regler + Lautsärke auf 50%*********************
    Func Restart ()
    $oWMP.settings.volume = 50 ;Lautstärke auf 50
    GUICtrlSetData($Volume,50) ;Slider auf 50
    GUICtrlSetData($Display_Volume, 50) ;Progress auf 50%
    EndFunc
    ;*********************************************************************

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

    ;**********Aktualisiert das Bild des Senders, falls verändert*********
    Func Aktualisieren ()
    if $Image_Old <> $Image_Status Then ;Falls neuer Combobox-Eintrag gewählt
    GUICtrlSetState($Image,$GUI_HIDE) ;Bild verstecken
    GUICtrlSetState($Image,$GUI_SHOW) ;Bild anzeigen
    $Image_Old = $Image_Status ;Image_Old = Neues Bild
    EndIf
    EndFunc
    ;*********************************************************************

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

    ;**************Soun stopen + Button Stop und Slider deaktivieren******
    Func Stop ()
    TrayItemSetState($Tray_Stop,$TRAY_CHECKED) ;Tray-Stop wird ausgewählt
    TrayItemSetState($Tray_Stop,$TRAY_DISABLE) ;Tray-Stop wird deaktiviert
    TrayItemSetState($Tray_Start,$TRAY_UNCHECKED) ;Tray-Start wird "abgewählt", falls gewählt
    TrayItemSetState($Tray_Start,$TRAY_ENABLE) ;Tray-Start wird aktiviert
    $oWMP.controls.stop() ;Sound stopen
    GUICtrlSetState($Stop, $GUI_DISABLE) ;Button Stop deaktivieren
    GUICtrlSetState($Volume, $GUI_DISABLE) ;Slider deaktivieren
    EndFunc

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

    ;*********************************************************************

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

    ;**********Player mit ausgewähltem Combobox-Eintrag starten**********
    Func Start()
    TrayItemSetState($Tray_Stop,$TRAY_UNCHECKED) ;Tray-Stop wird "abgewählt", falls gewählt
    TrayItemSetState($Tray_Stop,$TRAY_ENABLE) ;Tray-Stop wird aktiviert
    TrayItemSetState($Tray_Start,$TRAY_CHECKED) ;Tray-Start wird ausgewählt
    TrayItemSetState($Tray_Start,$TRAY_DISABLE) ;Tray-Start wird deaktiviert, da nicht zweimal gewählt werden kann
    $readcombo1 = GUICtrlRead($Combo1) ;Combobox-Eintrag auslesen
    $oWMP.controls.play() ;Player starten
    On() ;Status auf Grün
    GUICtrlSetState($Volume, $GUI_ENABLE) ;Volume-Slider aktivieren
    GUICtrlSetState($Stop, $GUI_ENABLE) ;Button-Stop aktivieren
    Select
    Case $readcombo1 = "Energy Zürich"
    $oWMP.URL = 'http://broadcast.infomaniak.ch/energyzuerich-high.mp3.asx' ;Energy Zürich starten
    Case $readcombo1 = "Energy Mix"
    $oWMP.URL = ' http://broadcast.infomaniak.ch/energymix-high.mp3.asx' ;Energy Mix starten
    Case $readcombo1 = "Energy Hot"
    $oWMP.URL = ' http://broadcast.infomaniak.ch/energyhot-high.mp3.asx' ;Energy Hot starten
    Case $readcombo1 = "Energy Electro"
    $oWMP.URL = 'http://broadcast.infomaniak.ch/energyelektro-high.mp3.asx' ;Energy Electro starten
    Case $readcombo1 = "Energy Charts"
    $oWMP.URL = ' http://broadcast.infomaniak.ch/energycharts-high.mp3.asx' ;Energy Charts starten
    EndSelect
    EndFunc
    ;*****************************************************************************

    [/autoit]

    Edit:

    @ tince Dein Link ist leider für die automatiseriung von vlc über tcp.

    Einmal editiert, zuletzt von Fabian (27. April 2010 um 11:06)

  • Moin Forum

    Wollte fragen ob noch jemand einen Lösungsvorschlag hat?
    Sonst probier ich mal die Informationen über die Hompage zu bekommen mithilfe von FF.au3 oder INet.au3
    LG, Fabian

  • Am besten wird es bestimmt mit dem Auslesen der Website klappen..
    den "direkten" Quellcode, in dem alle Titel usw. stehen habe ich nicht
    sofort erschließen können. Du musst erst den Frame auswählen und dort
    den Code entnehmen.
    Bei mir hieß die URL dann: http://playlist.energyzueri.com/web/index_redesign.php
    dort kannst du via StringRegExp die Infos extrahieren.
    (Dazu am Besten SEuBo's StringRegExp anschauen, falls du nicht sehr firm damit bist)

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Danke.
    Dann werd ich noch mals SEuBo's StringRegExp anschauen, weil bin bis jetzt noch nicht durchgestiegen :)