IPSLibrary - NetPlayer

Den entscheidenen Hinweis zur Einbindung ins Webfront habe ich im Beitrag NetPlayer im Webfront gefunden ;).

Bei mir läuft inzwischen der Radio-Teil, der Scan auf die MP3 Dateien läuft (noch) nicht.

Danke Ralf jetzt habe ich ihn zumindest eingebunden.

Allerdings lässt sich nichts bedienen.

Hier mal meine Config


<?
	/**@defgroup netplayer_configuration NetPlayer Konfiguration
	 * @ingroup netplayer
	 * @{
	 *
	 * Konfiguration der NetPlayers
	 *
	 * @file          Default\NetPlayer_Configuration.inc.php
	 * @author        Andreas Brauneis
	 * @version
	 * Version 2.50.1, 31.01.2012<br/>
	 *
	 * Script mit NetPlayer Konfigurations Parametern
	 *
	 */

   /** NetPlayer Player Component Definition
	 *
	 * Definiert Verbindung zur Hardware Komponente des Players
	 *
	 * Alle Parameter zur Erzeugung des Player Objektes werden durch Comma getrennt.
	 * - Param1 ist die Klasse des Players (muss von IPSComponentPlayer abgeleitet sein)
	 * - Param2-n spezifizieren die Parameter, die zum Erzeugen des spezifischen Player Objektes notwendig sind.
	 *
	 * Beispiele:
	 *   define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Mediaplayer,36728');
	 *   define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Mediaplayer,Hardware.NetPlayer.MediaPlayer');
	 *   define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Sonos,192.168.0.12');
	 *
	 * Im Falle des MediaPlayers wird zum Erzeugen eines Objectes die ID der Mediaplayer Instanz
	 * benötigt. Alternativ kann auch der IPS Pfad zum Player angegeben werden (Beispiel 2).
	 * Beispiel 3 definiert einen Sonos Player, der als Parameter die IP des Players benötigt.
	 *
	 */
	define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Mediaplayer,Hardware.NetPlayer.MediaPlayer');

   /** Input Directory für NetPlayer
	 *
	 * In diesem Verzeichnis sucht der NetPlayer nach MP3 Files, die beinhaltenden Verzeichnisse und
	 * Files sollten folgende Form haben:
	 * .../Interpret [Album]/LiedNummer Titel.mp3
	 *
	 * Beispiele:
	 * C:/Music/Metallica [S&M]/01 - Battery.mp3
	 * C:/Music/_Sampler/Bravo Hits 54 []/01 - Yana Yana.mp3
	 *
	 * Zusätzlich werden auch noch Musik Kategorien unterstützt, diese erlauben es die Musik in verschiedene
	 * Gruppen einzuteilen.
	 * Kategorien werden durch ein "_" am Beginn des Verzeichnisses definiert, die Verzeichnisse werden bei
	 * der Musik Auswahl automatisch in der Navigations Leiste aufgelistet.
	 *
	 * Beispiele:
	 * _Sampler
	 * _Soundtracks
	 * _Kinderlieder
	 *
	 * CD Covers werden immer im aktuell gewählten Song Verzeichnis gesucht. Als erstes wird ein JPG Datei
	 * gesucht, die ein "front" im Namen hat. Wird keine Datei gefunden wird die erste gefundene JPG Datei
	 * angezeigt.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, erneute Installation des Players ist nicht
	 * erforderlich.
	 */

	define ("NETPLAYER_DIRECTORY", 		"C:/Music/");

   /** Liste der Radio Sender
	 *
	 * Hier wird die Liste der Radio Sender definiert, die im WebFront zur Auswahl steht.
	 *
	 * @return string[] Liste von RadioName/RadioUrl Paaren
	 */
	function NetPlayer_GetRadioList() {
		$radiolist = array(
			'OE 3' 				=> "mms://apasf.apa.at/OE3_Live_Audio",
			'KroneHit Radio' 	=> "http://onair.krone.at:80/kronehit.mp3",
			'Radio Wien' 		=> "http://mp3stream2.apasf.apa.at:8000",
			'Radio 88.6' 		=> "http://www.radiostream.de/stream/36889.asx",
			'Radio Arabella' 	=> "http://stream01.arabella-at.vss.kapper.net:8000/;stream.mp3",
			'FM4' 				=> "mms://apasf.apa.at/fm4_live_worldwide",
			'Radio Harmonie' 	=> "http://92.63.218.120:9630",
			'Hit FM' 			=> "http://hitfm.biosnet.at:8000",
			'Lounge FM' 		=> "http://stream.lounge.fm/loungefm128.m3u",
			'Fan Radio' 		=> "http://onair.krone.at/krone-fanradio.mp3.m3u",
		);
		return $radiolist;
	}

   /**
	 * Anzahl der CDs, die im HTML Interface angezeigt werden.
	 */
	define ("NP_COUNT_CDHTML",               16);

   /**
	 * Anzahl der CDs, die im Mobile Interface angezeigt werden.
	 */
	define ("NP_COUNT_CDMOBILE",             10);

   /**
	 * Anzahl der CDs, die im Webfront Interface (Variablen deren Profil dynamisch angepasst wird) angezeigt werden.
	 */
	define ("NP_COUNT_CDVARIABLE",           6);

   /**
	 * Anzahl der Radiosender, die im HTML Interface angezeigt werden.
	 */
	define ("NP_COUNT_RADIOHTML",            16);

   /**
	 * Anzahl der Radiosender, die im Mobile Interface angezeigt werden.
	 */
	define ("NP_COUNT_RADIOMOBILE",          16);

   /**
	 * Anzahl der Radiosender, die im Webfront Interface (Variablen deren Profil dynamisch angepasst wird) angezeigt werden.
	 */
	define ("NP_COUNT_RADIOVARIABLE",        6);

   /**
	 * Anzahl der Tracknamen, die im Webfront Interface (Variablen deren Profil dynamisch angepasst wird) angezeigt werden.
	 */
	define ("NP_COUNT_TRACKVARIABLE",        6);

   /**
	 * Definition des HTML Player Interfaces
	 */
  	define ("NP_RC_MP3CONTROL",       			'src="../user/NetPlayer/NetPlayer_MP3Control.php"    height=260px');

   /**
	 * Definition des HTML CD Auswahl Interfaces
	 */
  	define ("NP_RC_MP3SELECTION",    			'src="../user/NetPlayer/NetPlayer_MP3Selection.php"  height=252px');

   /**
	 * Definition des HTML Radioplayer Interfaces
	 */
  	define ("NP_RC_RADIOCONTROL",     			'src="../user/NetPlayer/NetPlayer_RadioControl.php"  height=182px');

   /**
	 * Definition des Mobile Interfaces
	 */
  	define ("NP_RC_MOBILE",           			'src="../user/NetPlayer/NetPlayer_Mobile.php"        height=3000px');

   /** @}*/
?>

Ist das so richtig?

Gerade bei der Instanz des MediaPlayers bin ich mir nicht sicher, was da genau hin muss.

Vermutlich stimmen deine „define“ nicht. Ich habe die ID vom Player genommen und ein paar Dateien in einen lokalen Pfad kopiert. Die findet das Script aber nicht.

Hast du da noch einen Hinweis wie ich die defines richtigstelle?

@Brownson

Weil ich gerade dabei bin mir einen Squeezeserver einzurichten. Tut sich beim Netplayer mal was Richtung Squeezebox, weil du angegeben hast das das Grundgerüst bereits vorhanden wäre!

Lg, Markus

Hallo Markus,

hab die Anbindung bereits etwas vorbereitet, die Implementierung der einzelnen Funktionen fehlt aber noch.

Kannst Dich ja mal mit der Anbindung versuchen:

1.) Konfiguration der Squeezebox Anbindung:


	define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Squeezebox');

2.) Implementierung der einzelnen Funktionen im File IPSComponentPlayer_Squeezebox.class.php

Falls das Ganze dann mal läuft, kann man die Squeezebox Klasse dann noch etwas konfigurierbar machen …

Hi,

habe da auch so meine Schwierigkeiten meine Squeezebox über den Netplayer zum laufen zu bringen.

2.) Implementierung der einzelnen Funktionen im File IPSComponentPlayer_Squeezebox.class.php

–> kannst du hierzu mal ein Besipiel posten wie das auszusehen hat?

Gruß
Benjamin

Ich bin da Code technisch auch leider zu ungeübt um hier etwas auf die Beine zu stellen! So gerne ich mithelfen würde!!

Moin,

so hab mir gerade mal den NetPlayer installiert…schönes Teil nur ich habe ein Problem meine MP3 Sammlung ist anders aufgebaut:
z.b:
_Rock
Interpret
Album
Titel1 usw

Also alle Alben haben einen Ordner unterhalb des Interpreten…

Hat jemand sowas auch und dies evtl schon geändert?

Lars

Hallo,

kann mir jemand bei meinem Problem Helfen? Ich habe eine URL vom Live Stream eines Radiosender in der Konfig. des NetPlayer eingetragen aber es kommt immer folgende Fehlermeldung.:mad:

Vielen Dank

Ohne die URL ist das Helfen schwierig. Vermutlich ist das nicht wirklich der Stream, sondern nur eine Weiterleitung.

Hallo,

ich suche den Stream von NDR 2 oder NJoy. Wie finde ich die Richtige URL eines Radiosenders?

Vielen Dank

Hallo,

kann hier keiner Helfen? Vielleicht ein Beispiel für eine URL eines Senders?

Vielen Dank

Schau mal hier
http://www.ndr.de/unternehmen/technik/internet-angebot/hilfe132.html

Hallo,

vielen Dank es Funktioniert.:slight_smile: Die Seite vom NDR mit den Links habe ich auch schon gehabt aber beim Kopieren des Links wohl einen Fehler gemacht.:mad:

Vielen Dank nochmals

Hi und vielen Dank für gesammte Library! Einfach der Hammer!

Nach anfänglichen Schwierigkeiten bei der Installation, läuft jetzt alles super.
Ist es möglich ein automatisches „Reconnect“ mit einzubauen. Wenn evtl.
mal die Verbindung abreißt bzw. der Provider die IP wechselt. Das Webfront
steht noch immer auf PLAY aber die Player ist aus.

Was mir gerade noch beim Webfront einfällt. Wenn ich das Mobile Remote
über die Android App öffne bekomm ich zwar schön sauber alles angezeigt
aber ändern bzw. klicken kann ich nichts !?

Vielen Dank.

Grüße Jo

Hallo,

wäre es möglich folgende Funktion mit in die NetPlayer.php einzubinden?
Damit ist es möglich einen RadioSender mit Hilfe der „Nummer“ in der RadioListe
zu starten.
Und bitte sagt mir jetzt nicht, dass das schon längst mit einer anderen Funktion
möglich gewesen ist :rolleyes:


	function NetPlayer_RadioIndex($Set=1) {
		$Set--;
		$radioName = GetValue(NP_ID_RADIONAME);
		$radioList = NetPlayer_GetRadioList();
		$radioKeys = array_keys($radioList);
		$radioFlip = array_flip($radioKeys); 
		//print_r($radioKeys);
		if (!array_key_exists($Set, $radioKeys))
			{
			$Set++;IPSLogger_Err(__file__, "Unbekannter Sender in der Radioliste ->  $Set");
			}

		else
			{
			$radioIdx  = $radioFlip[$radioName]+$Set;
			$radioName  = $radioKeys[$Set];
			$radioUrl   = $radioList[$radioKeys[$Set]];
			NetPlayer_PlayRadio($radioUrl, $radioName);
			NetPlayer_RefreshRemoteControl();
			}
	}


Hi,

hab die Funktion in den NetPlayer integriert und dabei einige Kleinigkeiten angepasst:

[ul]
[li]Funktionsname NetPlayer_RadioByIndex
[/li][li]Parameter ist für Index ist 0 basiert (wie die meisten anderen Funktionen)
[/li][li]Einige unnötige Zeilen entfernt
[/li][/ul]


	function NetPlayer_RadioByIndex($radioIdx=0) {
		$radioName = GetValue(NP_ID_RADIONAME);
		$radioList = NetPlayer_GetRadioList();
		$radioKeys = array_keys($radioList);
		if (!array_key_exists($radioIdx, $radioKeys))  {
			IPSLogger_Err(__file__, "Unbekannter Sender in der Radioliste ->  $radioIdx");
		} else {
			$radioName  = $radioKeys[$radioIdx];
			$radioUrl   = $radioList[$radioKeys[$radioIdx]];
			NetPlayer_PlayRadio($radioUrl, $radioName);
			NetPlayer_RefreshRemoteControl();
		}
	}  

Hey super danke,

das mit dem 0-Index war mir schon klar, fand es blos etwas verwirrend.
Muss ich mir noch etwas reinhämmern, dass am Anfang eben die NULL ist/war :smiley:

Schöne Grüße

Jo


Hallo Zusammen,

ich bin ein IP Symcon Frischling und habe den NetPlayer installiert und konfiguriert. Hat soweit auch alles wunderbar funktioniert. Leider passiert nichts wenn ich im Webfront auf „Musik Auswahl“ oder „Internet Radio“ klicke. Der Button leuchtet einmal kurz auf und weiter nichts. Hat jemand ne Idee wo der Fehler liegt?


<?
	/**@defgroup netplayer_configuration NetPlayer Konfiguration
	 * @ingroup netplayer
	 * @{
	 *
	 * Konfiguration der NetPlayers
	 *
	 * @file          Default\NetPlayer_Configuration.inc.php
	 * @author        Andreas Brauneis
	 * @version
	 * Version 2.50.1, 31.01.2012<br/>
	 *
	 * Script mit NetPlayer Konfigurations Parametern
	 *
	 */

   /** NetPlayer Player Component Definition
	 *
	 * Definiert Verbindung zur Hardware Komponente des Players
	 *
	 * Alle Parameter zur Erzeugung des Player Objektes werden durch Comma getrennt.
	 * - Param1 ist die Klasse des Players (muss von IPSComponentPlayer abgeleitet sein)
	 * - Param2-n spezifizieren die Parameter, die zum Erzeugen des spezifischen Player Objektes notwendig sind.
	 *
	 * Beispiele:
	 *   define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Mediaplayer,36728');
	 *   define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Mediaplayer,Hardware.NetPlayer.MediaPlayer');
	 *   define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Sonos,192.168.0.12');
	 *
	 * Im Falle des MediaPlayers wird zum Erzeugen eines Objectes die ID der Mediaplayer Instanz
	 * benötigt. Alternativ kann auch der IPS Pfad zum Player angegeben werden (Beispiel 2).
	 * Beispiel 3 definiert einen Sonos Player, der als Parameter die IP des Players benötigt.
	 *
	 */
	define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Mediaplayer,56194');
	//define ("NETPLAYER_COMPONENT", 'IPSComponentPlayer_Mediaplayer,37843');

   /** Input Directory für NetPlayer
	 *
	 * In diesem Verzeichnis sucht der NetPlayer nach MP3 Files, die beinhaltenden Verzeichnisse und
	 * Files sollten folgende Form haben:
	 * .../Interpret [Album]/LiedNummer Titel.mp3
	 *
	 * Beispiele:
	 * C:/Music/Metallica [S&M]/01 - Battery.mp3
	 * C:/Music/_Sampler/Bravo Hits 54 []/01 - Yana Yana.mp3
	 *
	 * Zusätzlich werden auch noch Musik Kategorien unterstützt, diese erlauben es die Musik in verschiedene
	 * Gruppen einzuteilen.
	 * Kategorien werden durch ein "_" am Beginn des Verzeichnisses definiert, die Verzeichnisse werden bei
	 * der Musik Auswahl automatisch in der Navigations Leiste aufgelistet.
	 *
	 * Beispiele:
	 * _Sampler
	 * _Soundtracks
	 * _Kinderlieder
	 *
	 * CD Covers werden immer im aktuell gewählten Song Verzeichnis gesucht. Als erstes wird ein JPG Datei
	 * gesucht, die ein "front" im Namen hat. Wird keine Datei gefunden wird die erste gefundene JPG Datei
	 * angezeigt.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, erneute Installation des Players ist nicht
	 * erforderlich.
	 */

	define ("NETPLAYER_DIRECTORY", 		"D:\files\music\IPSymcon");

   /** Liste der Radio Sender
	 *
	 * Hier wird die Liste der Radio Sender definiert, die im WebFront zur Auswahl steht.
	 *
	 * @return string[] Liste von RadioName/RadioUrl Paaren
	 */
	function NetPlayer_GetRadioList() {
		$radiolist = array(
			'1 LIVE' 		=> "http://www.wdr.de/wdrlive/media/einslive.m3u",
         'big FM'			=> "http://srv05.bigstreams.de/bigfm-mp3-96.m3u",
			'WDR 2' 			=> "http://www.wdr.de/wdrlive/media/wdr2.m3u",
			'SWR 3' 			=> "http://mp3-live.swr3.de/swr3_m.m3u",
		);
		return $radiolist;
	}

   /**
	 * Anzahl der CDs, die im HTML Interface angezeigt werden.
	 */
	define ("NP_COUNT_CDHTML",               16);

   /**
	 * Anzahl der CDs, die im Mobile Interface angezeigt werden.
	 */
	define ("NP_COUNT_CDMOBILE",             10);

   /**
	 * Anzahl der CDs, die im Webfront Interface (Variablen deren Profil dynamisch angepasst wird) angezeigt werden.
	 */
	define ("NP_COUNT_CDVARIABLE",           6);

   /**
	 * Anzahl der Radiosender, die im HTML Interface angezeigt werden.
	 */
	define ("NP_COUNT_RADIOHTML",            16);

   /**
	 * Anzahl der Radiosender, die im Mobile Interface angezeigt werden.
	 */
	define ("NP_COUNT_RADIOMOBILE",          16);

   /**
	 * Anzahl der Radiosender, die im Webfront Interface (Variablen deren Profil dynamisch angepasst wird) angezeigt werden.
	 */
	define ("NP_COUNT_RADIOVARIABLE",        6);

   /**
	 * Anzahl der Tracknamen, die im Webfront Interface (Variablen deren Profil dynamisch angepasst wird) angezeigt werden.
	 */
	define ("NP_COUNT_TRACKVARIABLE",        6);

   /**
	 * Definition des HTML Player Interfaces
	 */
  	define ("NP_RC_MP3CONTROL",       			'src="../user/NetPlayer/NetPlayer_MP3Control.php"    height=260px');

   /**
	 * Definition des HTML CD Auswahl Interfaces
	 */
  	define ("NP_RC_MP3SELECTION",    			'src="../user/NetPlayer/NetPlayer_MP3Selection.php"  height=252px');

   /**
	 * Definition des HTML Radioplayer Interfaces
	 */
  	define ("NP_RC_RADIOCONTROL",     			'src="../user/NetPlayer/NetPlayer_RadioControl.php"  height=182px');

   /**
	 * Definition des Mobile Interfaces
	 */
  	define ("NP_RC_MOBILE",           			'src="../user/NetPlayer/NetPlayer_Mobile.php"        height=3000px');

   /** @}*/
?>