• Hallo zusammen,

    kennt Ihr das problem auf der Arbeit zu sein und es läuft keine Musik aber ein Radio ist auch nicht in sicht?? Dann sucht Ihr im Internet und immer muss irgend ein Fenster auf sein und Ihr müsst vielleicht von Seite zu Seite wechseln um verschiedene Sender zu hören...dann freut euch auf AutoRadio!!!!

    So, genug angepriesen ;)

    Im Prinzip hat es mich auf der Arbeit immer genervt das nur für Radio ein extra Browser Fenster auf ist, also habe ich mal eben den AutoRadio geschrieben. Diesen kann ich in den Tray legen und trotzdem noch radio hören und sogar die Sender wechseln =)

    Da der User ganz leicht selbst sender hinzufügen kann wird nur der sender 1live mitgeliefert.

    Code vom Letzten Update:(UPDATE 1.4.1)

    Spoiler anzeigen
    [autoit]


    #include <IE.au3>
    #include <Array.au3>
    #include <Data\Daten.au3>

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

    _createLogo()
    OnAutoItExitRegister("_DelBinaryTempFiles")

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

    ;~ HautpGUI
    $GUI = GUICreate("AutoRadio", 570, 500)
    $Menu = GUICtrlCreateMenu("Sender")
    $MenuE = GUICtrlCreateMenu("Einstellungen")
    $AddSender = GUICtrlCreateMenuItem("Sender hinzufügen", $MenuE)
    $mLaut = GUICtrlCreateMenuItem("Lautstärke", $MenuE)
    $MenuH = GUICtrlCreateMenu("?")
    $Exit = GUICtrlCreateMenuItem("Exit" , $MenuH)
    GUICtrlCreatePic(@TempDir & "\a3.jpg",0,0, 570, 94)
    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj($IE, 0, 95, 569, 449)
    GUISetState(@SW_SHOW, $GUI)

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

    Local $iOld = -1, $iVolume

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

    ;~ Lautstärke GUI
    $GUIl = GUICreate("Lautstärke", 220, 40)
    $slider1 = GUICtrlCreateSlider(10, 10, 200, 20)
    SoundSetWaveVolume(50) ; change min/max value
    GUICtrlSetData($slider1, 45) ; set cursor
    GUISetState(@SW_HIDE, $GUIl)

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

    ;~ Neue Sender hinzufügen GUI
    $GUI2 = GUICreate("Sender hinzufügen", 250, 90)
    GUICtrlCreateLabel("URL:", 10, 10)
    $senderIn = GUICtrlCreateInput("", 80, 5, 160)
    GUICtrlCreateLabel("Sendername:", 10, 40)
    $senderNIn = GUICtrlCreateInput("", 80, 35, 160)
    $Add = GUICtrlCreateButton("hinzufügen", 115, 60)
    $HideAdd = GUICtrlCreateButton("abbrechen", 185, 60)
    GUISetState(@SW_HIDE, $GUI2)

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

    ;~ Lesen der ini
    $var = IniReadSection(@ScriptDir & "\Data\sender.ini", "sender")

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

    ;~ Erstellen des Menüs
    If @error Then
    MsgBox(4096, @ScriptDir & "Data\sender.ini", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    Dim $idMenuItem[$var[0][0]+1]
    $idMenuItem[0] = $var[0][0]
    For $i = 1 To $var[0][0]
    $idMenuItem[$i]=GUICtrlCreateMenuItem($var[$i][0], $Menu)
    Next

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

    EndIf

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

    ;~ TrayMenü
    Opt("TrayMenuMode", 3)
    TraySetClick(16)
    $tMenu = TrayCreateMenu("Sender")
    Dim $idTrayMenuItem[$var[0][0]+1]
    $idTrayMenuItem[0] = $var[0][0]
    For $i = 1 To $var[0][0]
    $idTrayMenuItem[$i]=TrayCreateItem($var[$i][0], $tMenu)
    Next
    $tLaut = TrayCreateItem("Lautstärke")
    $tShow = TrayCreateItem("Zeigen")
    $tGhost = TrayCreateItem("Ausblenden")
    TrayCreateItem("")
    $hTray = TrayCreateItem("Exit")

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

    While 1
    ;~ ändert die lautstärke
    $iVolume = GUICtrlRead($slider1)
    If $iOld <> $iVolume Then
    SoundSetWaveVolume($iVolume)
    $iOld = $iVolume
    EndIf

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

    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case -3
    If $nMsg[1] = $GUI Then
    GUISetState(@SW_HIDE, $GUI)
    TrayTip("AutoRadio", "AutoRadio wird weiter ausgeführt", 5)
    Else
    If $nMsg[1] = $GUI2 Then
    GUICtrlSetData($senderIn, "")
    GUICtrlSetData($senderNIn, "")
    GUISetState(@SW_HIDE, $GUI2)
    Else
    GUISetState(@SW_HIDE, $nMsg[1])
    EndIf
    EndIf
    Case $idMenuItem[1] to $idMenuItem[$idMenuItem[0]]
    $sender = $var[$nMsg[0] - $idMenuItem[1]+1][1]
    _IENavigate($IE, $sender)
    case $mLaut
    GUISetState(@SW_SHOW, $GUIl)
    case $Exit
    Exit
    case $AddSender
    GUISetState(@SW_SHOW, $GUI2)
    case $HideAdd
    GUICtrlSetData($senderIn, "")
    GUICtrlSetData($senderNIn, "")
    GUISetState(@SW_HIDE, $GUI2)
    case $Add
    $SenderURL = GUICtrlRead($senderIn)
    $SenderName = GUICtrlRead($senderNIn)
    GUICtrlSetData($senderIn, "")
    GUICtrlSetData($senderNIn, "")
    IniWrite(@ScriptDir & "\Data\sender.ini", "sender", $SenderName, $SenderURL)

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

    ;Menü Updaten
    For $i = 0 To UBound($idMenuItem) - 1
    GUICtrlDelete($idMenuItem[$i])
    Next
    $var = IniReadSection(@ScriptDir & "\Data\sender.ini", "sender")
    If @error Then
    MsgBox(4096, @ScriptDir & "Data\sender.ini", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    Dim $idMenuItem[$var[0][0]+1]
    $idMenuItem[0] = $var[0][0]
    For $i = 1 To $var[0][0]
    $idMenuItem[$i]=GUICtrlCreateMenuItem($var[$i][0], $Menu)
    Next
    EndIf
    GUISetState(@SW_HIDE, $GUI2)
    EndSwitch
    $tMsg = TrayGetMsg()
    Switch $tMsg
    Case $hTray
    Exit
    Case $tGhost
    GUISetState(@SW_HIDE, $GUI)
    GUISetState(@SW_HIDE, $GUIl)
    Case $tShow
    GUISetState(@SW_SHOW, $GUI)
    Case $idTrayMenuItem[1] to $idTrayMenuItem[$idTrayMenuItem[0]]
    $sender = $var[$tMsg - $idTrayMenuItem[1]+1][1]
    _IENavigate($IE, $sender)
    case $tLaut
    GUISetState(@SW_SHOW, $GUIl)
    EndSwitch
    WEnd

    [/autoit]


    UPDATE 1.1

    Die Sender stehen nun in einer ini-Datei die jeder für sich bearbeiten kann um sender hinzuzufügen oder zu entfernen. Großer vorteil an der sache ist es das der Code ansich nie angefasst und geändert werden muss.


    UPDATE 1.2

    Bei diesen Update hat sich nur das Design etwas geändert.

    UPDATE 1.3

    Lautstärkereglung direkt aus AutoRadio wurde eingebaut!

    UPDATE 1.4
    AutoRadio ist nun benutzerfreundlicher. D.h. man kann die Sender nun über "Einstellungen" hunzufügen und muss die .ini nur zum löschen von sendern bearbeiten.

    UPDATE 1.4.1

    - Bugs behoben

    Update 1.4.1 downloaden

  • Mit der ini ist eine gute idee :) werde ich mal tuhen.

    edit: Die URL's werden schonmal aus der ini ausgelesen. Stehe grade nur etwas auf den Schlauch was das auslesen der Sender angeht, will ja das die Key's aus der ini ausgelesen werden und diese dann für den User zur auswahl stehen, so dass das eigentliche Script garnicht mehr angepackt werden muss.