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
#include <IE.au3>
#include <Array.au3>
#include <Data\Daten.au3>
_createLogo()
OnAutoItExitRegister("_DelBinaryTempFiles")
;~ 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)
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)
;~ 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)
;~ Lesen der ini
$var = IniReadSection(@ScriptDir & "\Data\sender.ini", "sender")
;~ 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
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")
While 1
;~ ändert die lautstärke
$iVolume = GUICtrlRead($slider1)
If $iOld <> $iVolume Then
SoundSetWaveVolume($iVolume)
$iOld = $iVolume
EndIf
$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)
;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
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