Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 18:54

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Web-Radio by Patrick_SkiLL

Discussion on Web-Radio by Patrick_SkiLL within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Patrick_SkiLL's Avatar
 
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.
Patrick_SkiLL is offline  
Thanks
3 Users
Old 10/04/2012, 18:42   #2
 
Ludder231's Avatar
 
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.
Ludder231 is offline  
Old 10/04/2012, 19:00   #3
 
Patrick_SkiLL's Avatar
 
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
Quote:
Originally Posted by Ludder231 View Post
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 ?
Patrick_SkiLL is offline  
Old 10/04/2012, 20:12   #4
 
H@CT0R's Avatar
 
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
H@CT0R is offline  
Old 10/04/2012, 20:34   #5
 
Patrick_SkiLL's Avatar
 
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
Quote:
Originally Posted by H@CT0R View Post
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
Patrick_SkiLL is offline  
Old 10/04/2012, 21:44   #6
 
Der-Eddy's Avatar
 
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?
Der-Eddy is offline  
Old 10/04/2012, 21:48   #7
 
Patrick_SkiLL's Avatar
 
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
Quote:
Originally Posted by Der-Eddy View Post
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.
Patrick_SkiLL is offline  
Old 10/05/2012, 00:14   #8
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
Quote:
Originally Posted by Ludder231 View Post
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 View Post
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 View Post
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
Achat is offline  
Old 10/05/2012, 21:45   #9
 
Der-Eddy's Avatar
 
elite*gold: 400
Join Date: Nov 2008
Posts: 67,909
Received Thanks: 19,503
Quote:
Originally Posted by Patrick_SkiLL View Post
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
Der-Eddy is offline  
Old 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.
KDeluxe is offline  
Old 10/06/2012, 11:16   #11
 
Der-Eddy's Avatar
 
elite*gold: 400
Join Date: Nov 2008
Posts: 67,909
Received Thanks: 19,503
Quote:
Originally Posted by KDeluxe View Post
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?
Der-Eddy is offline  
Old 10/06/2012, 20:29   #12
 
Patrick_SkiLL's Avatar
 
elite*gold: 260
Join Date: Oct 2012
Posts: 22
Received Thanks: 3
Quote:
Originally Posted by Der-Eddy View Post
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.
Patrick_SkiLL is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.