Hallo Leute.
Durch einen kleinen Tutorial habe ich mal ein Web-Radio nach geschrieben.
Versucht es einfach selber.
Features
Das bedeutet es wird bis hin zu einer V0.4 gearbeitet mit mehr Features.
Unterstützt mich mit einen Thanks.
Durch einen kleinen Tutorial habe ich mal ein Web-Radio nach geschrieben.
Versucht es einfach selber.
Code:
Const $url1Live = 'http://www.wdr.de/wdrlive/media/einslive.asx'
Const $urlFFN = 'http://player.ffn.de/tunein_ffn.asx'
Const $urlWDR = 'http://www.wdr.de/wdrlive/media/wdr2.asx'
Const $urlNDR = 'http://ndr-ndr1niedersachsen-hi-wma.wm.llnwd.net/ndr_ndr1niedersachsen_hi_wma'
;Erstellt ein Windows Media Player Objekt (http://msdn.microsoft.com/en-us/library/bb249680(VS.85).aspx)
$oWMP = ObjCreate ( "WMPLayer.ocx" )
;Default URL:
$oWMP.URL = $url1Live ;Stellt die Eigenschaft "URL" zu dem Online-Stream
$oWMP.controls.stop()
;Array f?r die einzelnen Zustande (Info)
Dim $arrStatus[12]
$arrStatus[0] = 'Unbekannt'
$arrStatus[1] = 'Gestoppt'
$arrStatus[2] = 'Pause'
$arrStatus[3] = 'Playing'
$arrStatus[4] = 'ScanForward'
$arrStatus[5] = 'ScanReverse'
$arrStatus[6] = 'Buffering'
$arrStatus[7] = 'Warten'
$arrStatus[8] = 'MediaEnded'
$arrStatus[9] = 'Transitioning'
$arrStatus[10] = 'Bereit'
$arrStatus[11] = 'Wiederverbinden...'
; Variable f?r das Anzeigen der Info, damit ein blinken vermieden wird.
$lastStatus = 0
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$frmMain = GUICreate("Radio by Patrick_SkiLL V0.1", 304, 140, 192, 224)
$comSender = GUICtrlCreateCombo("", 72, 8, 225, 25)
GUICtrlSetData(-1, "Eins Live|Radio FFN|WDR|NDR", "Eins Live")
$lblSender = GUICtrlCreateLabel("Senderliste:", 8, 8, 59, 17)
$cmdPlay = GUICtrlCreateButton("Abspielen", 72, 40, 73, 33, $WS_GROUP)
$cmdStop = GUICtrlCreateButton("Stop", 160, 40, 73, 33, $WS_GROUP)
$lblInfo = GUICtrlCreateLabel("Info...",72,80,200)
$lblPlayTime = GUICtrlCreateLabel("00:00:00",260,120)
; Das ist der Slider f?r die Lautstdrke
$slVolume = GUICtrlCreateSlider(49, 100, 200, 25)
GUICtrlSetData(-1,$oWMP.settings.volume()) ; Hier wird der Startwert gelesen, bei mir 50
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
; Varible zeit wir auf 0 gesetzt
$zeit = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
; Hier wird die Lautstdrke gesetzt
Case $slVolume
$oWMP.settings.volume = GUICtrlRead($slVolume)
Case $comSender
; Falls grade ein Stream abgespielt wird, wird er gestoppt
$oWMP.controls.stop()
Switch GUICtrlRead($comSender)
Case 'Eins Live'
$oWMP.URL = $url1Live ;Stellt die Eigenschaft "URL" zu dem Online-Stream
Case 'Radio FFN'
$oWMP.URL = $urlFFN ;Stellt die Eigenschaft "URL" zu dem Online-Stream
Case 'WDR'
$oWMP.URL = $urlWDR ;Stellt die Eigenschaft "URL" zu dem Online-Stream
Case 'NDR'
$oWMP.URL = $urlNDR ;Stellt die Eigenschaft "URL" zu dem Online-Stream
EndSwitch
$oWMP.controls.play()
; beim wechseln des Streams soll wieder von vorn gezdhlt werden.
$zeit = TimerInit()
Case $cmdStop
$oWMP.controls.stop()
Case $cmdPlay
$oWMP.controls.play()
EndSwitch
$curStatus = $oWMP.playstate
If $curStatus <> $lastStatus Then
GUICtrlSetData($lblInfo, $arrStatus[$curStatus])
$lastStatus = $curStatus
EndIf
; ist der Status auf gestoppt (1) oder unbekannt (0)
; wir die Zeitanzeige wieder auf 0 gesetzt und die
; Variable zeit auf 0
If $curStatus = 1 or $curStatus = 0 Then
$zeit = 0
GUICtrlSetData($lblPlayTime,'00:00:00')
; Wird der Stream abgespielt und ist die Variable
; zeit auf 0, dann setze zeit auf die Init Zeit
ElseIf $curStatus = 3 And $zeit = 0 Then
$zeit = TimerInit()
EndIf
; ist zeit grf?er 0 berechne die Zeit
; und gib sie aus
If $zeit > 0 Then
; wandele die Millisekunden in Sekunden um
$diff = round(round(TimerDiff($zeit),0) / 1000,0)
; Berechne Stunden, Minuten und Sekunken und gib sie mit
; f?hrenden Nullen aus.
GUICtrlSetData($lblPlayTime,StringFormat("%02d:%02d:%02d",((($diff-mod($diff,60))/60)-mod(($diff-mod($diff,60))/60,60))/60,mod(($diff-mod($diff,60))/60,60),mod($diff,60)))
EndIf
WEnd
exit
$oWMP.URL = "http://www.wdr.de/wdrlive/media/einslive.asx" ;Stellt die Eigenschaft "URL" zu dem Online-Stream
;von hr3.de ein, sollte automatisch starten
$oWMP.controls.play() ;explizit starten
While $oWMP.playstate > 2 ;solang der Windows Media Player den Stream lddt, buffert, abspielt usw.
Sleep ( 10 ) ;schlafen, damit AutoIt sich nicht beendet und die Musik aufhfrt
WEnd
Wie ihr sicherlich merken wird ist es eine V0.1Quote:
- 4 Verschiedene Sender eingebaut
- Lautstärken Veränderbar
Das bedeutet es wird bis hin zu einer V0.4 gearbeitet mit mehr Features.
Unterstützt mich mit einen Thanks.