|
You last visited: Today at 18:54
Advertisement
Web-Radio by Patrick_SkiLL
Discussion on Web-Radio by Patrick_SkiLL within the AutoIt forum part of the Coders Den category.
10/04/2012, 17:20
|
#1
|
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
|
Web-Radio by Patrick_SkiLL
Hallo Leute.
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
Features
Quote:
- 4 Verschiedene Sender eingebaut
- Lautstärken Veränderbar
|
Wie ihr sicherlich merken wird ist es eine V0.1
Das bedeutet es wird bis hin zu einer V0.4 gearbeitet mit mehr Features.
Unterstützt mich mit einen Thanks.
|
|
|
10/04/2012, 18:42
|
#2
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Sieht gut aus. Hast du den exact nachgebaut? Weil wenn du ein Anfänger bist, hätte ich so eine Syntax nicht erwartet.
|
|
|
10/04/2012, 19:00
|
#3
|
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
|
Quote:
Originally Posted by Ludder231
Sieht gut aus. Hast du den exact nachgebaut? Weil wenn du ein Anfänger bist, hätte ich so eine Syntax nicht erwartet.
|
Ich bin schon etwas länger in der AutoIT Szene. Wenn man die grundlagen von AutoIT sprich auch die Codes drauf hat , ist es nicht so Schwer wie es ist.
Dauer hat etwas 2 -3 Tage gedauert da es schon etwas schwerer war.
Verbesserungsvorschläge für V0.2 ?
|
|
|
10/04/2012, 20:12
|
#4
|
elite*gold: 0
Join Date: Apr 2012
Posts: 1,214
Received Thanks: 153
|
Sieht ansich nicht schlecht aus, habe es gerade mal kurz getestet
Würde noch die aktuelle Lautstärke in Prozent in einem Label anzeigen lassen, mehr Sender hinzufügen und am besten angewöhnen im oneventmodus zu arbeiten
|
|
|
10/04/2012, 20:34
|
#5
|
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
|
Quote:
Originally Posted by H@CT0R
Sieht ansich nicht schlecht aus, habe es gerade mal kurz getestet
Würde noch die aktuelle Lautstärke in Prozent in einem Label anzeigen lassen, mehr Sender hinzufügen und am besten angewöhnen im oneventmodus zu arbeiten
|
Aus deinem Satz setzte ich die Schlußfolgerung das mehr Design hinzugefügt werden muss um es Optisch besser aussehen zu lassen.
#accept - werde mich morgen dran setzten
|
|
|
10/04/2012, 21:44
|
#6
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,909
Received Thanks: 19,503
|
Wie wäre es die Sender in ein Array zu speichern und z.B. in einer Temp Datei zu speichern um eigene Sender hinzuzufügen?
|
|
|
10/04/2012, 21:48
|
#7
|
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
|
Quote:
Originally Posted by Der-Eddy
Wie wäre es die Sender in ein Array zu speichern und z.B. in einer Temp Datei zu speichern um eigene Sender hinzuzufügen?
|
Würde oder müsste mit einem Online Hoster zusammen hängen.
Aber ich kann einen Sender einbringen der dir deine Datei nur abspielt. Natürlich müssen die Lieder selber hinzugefügt werden.
|
|
|
10/05/2012, 00:14
|
#8
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
|
Quote:
Originally Posted by Ludder231
Sieht gut aus. Hast du den exact nachgebaut? Weil wenn du ein Anfänger bist, hätte ich so eine Syntax nicht erwartet.
|
Syntax finde ich auch gut, besonders für den Anfang.
Quote:
Originally Posted by Patrick_SkiLL
Ich bin schon etwas länger in der AutoIT Szene. Wenn man die grundlagen von AutoIT sprich auch die Codes drauf hat , ist es nicht so Schwer wie es ist.
|
Dann solltest du aber wissen, dass es
AutoIt heißt und nicht AutoIT
MfG
€dit:
Quelle:
€dit2:
Quote:
Originally Posted by Patrick_SkiLL
Wie ihr sicherlich merken wird ist es eine V0.1
Das bedeutet es wird bis hin zu einer V0.4 gearbeitet mit mehr Features.
|
Versionsnummer
MfG
|
|
|
10/05/2012, 21:45
|
#9
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,909
Received Thanks: 19,503
|
Quote:
Originally Posted by Patrick_SkiLL
Würde oder müsste mit einem Online Hoster zusammen hängen.
Aber ich kann einen Sender einbringen der dir deine Datei nur abspielt. Natürlich müssen die Lieder selber hinzugefügt werden.
|
Öhm wat
ich meine das so das man im Script ganz easy neue Sender hinzufügen kann bzw. diese aus einer Datei ausgelesen wird
z.B.
So hätte ich mir das vorgestellt, natürlich fehlen noch Buttons um eine Funktion einzubinden um eigene Sender hinzuzufügen
|
|
|
10/06/2012, 00:41
|
#10
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
|
Statt das ganze Array durchzugehen und alle Strings miteinander zu vergleichen wäre es besser den Inhalt des Arrays anhand des Indexes der Combobox auszugeben.
Code:
$oWMP.URL = $list[GUICtrlSendMsg($Combo, $CB_GETCURSEL, 0, 0) + 1][1]
Außerdem wäre es besser das Label nur dann zu aktualisieren, wenn es auch wirklich nötig ist. Es mag sich zwar "nur" jede Sekunde ändern, die Schleife wird in dieser Zeit aber wesentlich öfters als einmal durchgegangen. Dadurch kann es zum "flakern" des Labels kommen.
Der Code nach dem "Exit" der ersten Schleife ist unerreichbar und kann daher auch gelöscht werden.
|
|
|
10/06/2012, 11:16
|
#11
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,909
Received Thanks: 19,503
|
Quote:
Originally Posted by KDeluxe
Statt das ganze Array durchzugehen und alle Strings miteinander zu vergleichen wäre es besser den Inhalt des Arrays anhand des Indexes der Combobox auszugeben.
Code:
$oWMP.URL = $list[GUICtrlSendMsg($Combo, $CB_GETCURSEL, 0, 0) + 1][1]
Außerdem wäre es besser das Label nur dann zu aktualisieren, wenn es auch wirklich nötig ist. Es mag sich zwar "nur" jede Sekunde ändern, die Schleife wird in dieser Zeit aber wesentlich öfters als einmal durchgegangen. Dadurch kann es zum "flakern" des Labels kommen.
Der Code nach dem "Exit" der ersten Schleife ist unerreichbar und kann daher auch gelöscht werden.
|
Stimmt auch wieder
Ist mir garnicht in denn Sinn gekommen
Btw. wie wäre es mit einem schicken Design?
|
|
|
10/06/2012, 20:29
|
#12
|
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
|
Quote:
Originally Posted by Der-Eddy
Stimmt auch wieder
Ist mir garnicht in denn Sinn gekommen
Btw. wie wäre es mit einem schicken Design?
|
Design in der neuen Version wird auf jeden Fall kommen. Bin derzeit Lustlos und widme mich an kleinere Projekte.
|
|
|
|
Similar Threads
|
Radio Elite Power - Alle deine Radio Sender in einem Programm!
10/09/2013 - Coding Releases - 57 Replies
http://i.imgur.com/qQzCT.png
Radio Elite Power Version 5.9
Ihr habt lange darauf gewartet - doch nun ist es soweit. Radio Elite Power ist das Neue Radio EP Pro mit vielen neuen Features! Ab jetzt hast du mehr als 230 neue Radio Sender in einem Programm und kannst mich direkt im Programm kontaktieren! Höre alle Radio Sender in bester Qualität, non-stop (24 Stunden / 7 Tage lang*)
* Die meisten Streams basieren auf dem Orginal Streams der Radio Sender und können nicht beeinflusst werden....
|
Hit-Radio-Fun-House ( Radio Vorstellung )
06/02/2011 - Main - 0 Replies
Radio vorstellung
Ich möchte heute eine Neues Webradio vorstellen.
ihr könnt ja einfach mal vorbei schauen
http://hit-radio-fun-house.net
- Musikstyle
|
Listen2myradio[Auf Radio.fx oder normales Radio]?
05/21/2011 - Main - 2 Replies
Hey leute
Ich hab mir ne woche zeit genommen um mal meinen eigenen Radiosender zu machen. Jetzt gibt es nur mehr eine Frage wie kann ich es auf ein Normales bzw. auf Radio.fx abspielen.
Wers sich anhören mag hier ist der Link: Listen2myradio.com - Get your own FREE online radio!
Pls help!
|
[Radio]Dirty south radio online
08/08/2009 - Video Art - 0 Replies
http://img44.imageshack.us/img44/7157/dramajpg.jpg
Enjoy Dirty south radio online .com!
It´s an american internet radio!
They only play dirty music man ^^
Just open the Link( dirtysouthradioonline.com to listen them or download desktop dsr player http://www.dirtysouthradioonline.com/espscripts/Ds rRadioPlayer.exe
|
All times are GMT +2. The time now is 18:54.
|
|