Media Player Modul

Nun habe ich doch noch ein Problem damit.
Ich kann zwar mp3 files abspielen, aber keine Internet Radio Stationen.
Das System läuft auf einem Win2003 Server mit Mediaplayer 10.
Im Mediaplayer selbst kann ich ohne Probleme z.B. die „Datei“
http://www.rtl.it/mediaplayer/rtl1025.asx
oder auch

http://lsd.newmedia.tiscali-business.com/bb/redirect.lsc?content=live&media=ms&stream=ndr/live/ndr2.wma

abspielen. Wenn ich die URL allerdings im dxmedia _open übergebe, dann bekomme ich die Fehlermeldung "cannot open File: http://…
Was kann ich denn da tun?
Ich habe in der Instanz schon verschiedene DirectSound Optionen ausprobiert.
Gruß
Florian

Ich habe mir gerade mal DXMedia kurz angesehen - keine Variablen angelegt, sondern einfach nur einen Play-Befehl an die Instanz gesendet und die Lautstärke geändert: funktionierte bei mir Problemlos.

Dennoch bleibe ich bzgl. Lautstärke weiterhin bei nircmd, da ich die Mastervolume des Rechners damit steuern kann und das geht mit DXMedia nicht.

‚nircmd‘ kann u.a. auch Monitore abschalten - ich verwende das z.B. um bei der Lichtszene ‚Fernsehen‘ 4 Monitore abzuschalten (die stören ansonsten sehr) :wink:

@paresy

Hallo paresy,

ich habe Dein Script genommen um meine Anrufbeantworter Files abzuspielen. Allerdings spielt es bei mir nur eine Datei ab und nicht alle die im Verzeichnis liegen.

Ich habe das File format von mp3 auf wav geändert und eine Variable FileStatus angelegt.

Hier die Meldung im Output Fenster:

Notice: Undefined variable: extension in line 44
D:/Programme/ISDNCall/Incoming/1127218904.wav

Habe ich noch was vergessen?

Das Jukebox Script ist dafür nicht wirklich geeignet, weil es die Titel als Zufallswiedergabe abspielt.

Hast du die FileStatus Variable auch im DXMedia Modul verknüpft?

Grüße, paresy

@paresy

Das Jukebox Script ist dafür nicht wirklich geeignet, weil es die Titel als Zufallswiedergabe abspielt.

Ja, es wäre schon schöner wenn die Files nacheinader abgespielt würden, aber da ich von PHP keine Ahnung habe muss ich mir im Augenblick aus dem was „basteln“, was hier im Forum angeboten wird.

Deshalb bin ja auch froh, dass hier schon so viele Beispiele sind. Hilft mir wirklich weiter.

Hast du die FileStatus Variable auch im DXMedia Modul verknüpft?

Ääähmm, nö glaube nicht, muss ich heute abend prüfen wenn ich zu Hause bin.

@paresy

Hattest recht, DXMedia war nicht mit der Variable verknüpft :mad:

Gibt es auch eine Möglichkeit die Dateien nicht zufällig abzuspielen ?

Gebraucht wird:

1FileStatus (Script darauf Triggern)
1
FileName

Jeweils beim DXMedia Modul eingetragen


<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File	 : MusicJukebox.ips.php
Trigger  : FileStatus
Interval : -
*/

//-- Configuration
$path="D:/-- MUSIC --/"; //Keine Backslashes! Slash am Ende!
$instanceid=43239;
$extensions="mp3";

//-- Main Code
if($IPS_SENDER=="Variable" && $IPS_VARIABLE=="FileStatus") {
  if(GetValueString("FileStatus")=="COMPLETE") {
   RunNext();
 }
} else {
 if(GetValueString("FileStatus") == "PLAY") {
  DXMedia_Stop($instanceid);
 } else {
  RunNext();
 }
}

//-- Functions
function RunNext() {

 global $instanceid;

 $oldfile=strrchr(GetValueString("FileName"), "/");
 echo $oldfile;
 if($oldfile=="") {
  $newfile=GetFirst();
 } else {
  $newfile=GetNext($oldfile);
 }

 echo $newfile;
 DXMedia_Open($instanceid, $newfile);
 DXMedia_Play($instanceid);

}

function GetFirst() {

 global $path, $extensions;

 if ($handle = opendir($path)) {
   while (false !== ($file = readdir($handle))) {
	   if ($file != "." && $file != "..") {
		  $ext = strrchr($file, '.');
		  if(!$extensions || strtolower(".".$extensions) == strtolower($ext)) {
		   return $path.$file;
		  }
	   }
   }
   closedir($handle);
  }
 
}

function GetNext($oldfile) {

 global $path, $extensions;
 
 $found=false;
 if ($handle = opendir($path)) {
   while (false !== ($file = readdir($handle))) {
	   if ($file != "." && $file != "..") {
		  $ext = strrchr($file, '.');
		  if(!$extensions || strtolower(".".$extensions) == strtolower($ext)) {
		   if($found) {
			return $path.$file;
		   }
		   if("/".$file==$oldfile) {
			$found=true;
		   }
		 }
	   }
   }
   closedir($handle);
 }

}

?>

Grüße, paresy

@paresy

Danke !!

Freue mich das Du auch noch die Zeit findest Usern wie mir Scripte zu schreiben.

Ich finde es auch Klasse das hier wirklich jeder versucht Hilfestellung zu geben. Nochmals Dank an alle Mitglieder.

Werde mich bestimmt noch öfter melden :wink:

Hallo Holger,

habe leider mit Deinem Script ein wenig Stress. Ich bekomme eine Fehlermeldung „Unknown Assigning the return Value of new by reference is deprecated in line 18“.

Der Programmcode in Line 18 enthält:
$id3 = &new MP3_Id();

Kannst Du mir einen Tip geben, was hier falsch läuft?

MfG
Thomas:confused:

$id3 = &new MP3_Id();

mal ohne „&“ versuchen (leidiges php5-Problem)

Tommi

hallo,
habe mal eine frage zum MusicJukebox script. zum abspielen der mpe files benutze ich dies.
es spielt Lieder zufällig im angegeben Ordner ab. aber bei mir wird immer nur ein titel abgespielt. was mache ich hier falsch, oder habe ich was vergessen einzugeben. kann mir hier einer weiterhelfen ?

cu uwe

hallo und guten tag !

ich habe das dxmedia script mal probiert um webradio abzuspielen.
wenn ich http://217.22.60.19:2580 im media player als url abspiele, klappt es prima . aber wenn ich den befehl in ips absetze kommt nur ein fehler:

DXMedia_Open(57205, „http://217.22.60.19:2580“);

und zwar: Notice: Error opening File: http://217.22.60.19:2580 in line 10

was mach ich falsch ?

danke , frank

Hallo!
Auch ich möchte gern, wenn ich nach hause komme einen Knopft am Wandsender drücken, der ein „Willkommen zuhasue“ Script durchläuft und dann Radio Stream abspielt.
Nur habe ich das mit der bemerkung

Wer mit dem Media Player Internet Radio Stationen abspielen möchte, muss einen DirectShow Filter einsetzen, der z.B. Shoutcase verarbeiten kann. Dann muss nur der OPEN Befehl entsprechend mit der gewünschten Internet Adresse benutzt werden.

Noch nicht ganz verstanden.
Die meisten Themen zu diesem Thama sind auch nicht mehr ganz so aktuell.
Und IPS wird ja doch das eine oder andere mal Upgedatet. Deshalb weiß ich jetzt nicht ganz genau, ob sich da nun in der Handhabung etwas geändert hat.
Deshalb meine Fragen:

  1. Benötige ich nun den Mediaplayer zum Streamen oder, wie so oft erwähnt Winamp?
    Ich hatte nun einfach mal ausprobiert diesen Befehl auszuführen:

DXMedia_Open(27787, „http://www.windowsmedia.com/radiotuner/FindStations.asp?locale=407&search=njoy“);

Aber leider bekomme ich eine Fehlermeldung:

<br />
<b>Notice</b>: Error opening File: http://www.windowsmedia.com/radiotuner/FindStations.asp?locale=407&search=njoy in <b>C:\Programme\IP-SYMCON\scripts.currentscript</b> on line <b>10</b><br />

  1. Was ist ein DirectShow Filter, der z.B. Shoutcase verarbeiten kann?
    Warscheinlich Winamp, oder?
    Muß ich dann nur Winamp Installieren und dann läuft das ganze?
    Oder wie muß ich das verstehen?
    Gruß
    Xanon

Nimm das Winamp Modul. Damit kommt du leichter ans Ziel :slight_smile:

paresy

Hallo mal ne Frage,

an was kann es liegen das beim öffnen in der Instance das Winamp Control
die folgende Errormeldung erzeugt:
Couldn´t create Instance An unknown Error occoured !

Es ist die version Win Amp 5.23 installiert

Grüße Ralf

PS: Selber fehler bei allen Instancen die ich auf machen möchte

Also alles noch mal neu installiert nachdem ich das Hallowelt script instaliert habe habe ich den error beim öffnen von Winamp Control wieder bekommen und danach lässt sich die smcon auch nicht mehr vernünftig beenden.

Hallo zusammen

Wow, das scheint genau das Modul zu sein, nach dem ich suche. Aber eine Frage habe ich noch:

Ist es möglich, mit diesem Skript auch mehrere Media-Instanzen anzusprechen? Also das ich im Bad und im Wohnzimmer unterschiedlichen Sound abspiele und diese auch unabhängig voneinander bedient werden können?

Natürlich unter der Voraussetzung, dass ich 2 Soundkarten im IP-Server habe.

Danke für eure Hilfe!!

das skript sieht echt genial aus!! ich habe derzeit noch kein ip-symcon, werde mir aber vermutlich nächstens eines zulegen.

ist es denn möglich, dass man mehrere soundkarten verbaut und dein skript dann auf die unterschiedlichen soundkarten „ansetzt“. also eben für eine multiroom-lösung?

damit meine freundin im bad andere musik hören kann, als ich im büro?

Klar. Wobei es neuerdings das Winamp Modul gibt. Damit geht es dann noch einfacher.

paresy

Dann mache ich mich mal auf die Suche nach diesem Modul. Dachte, dass Winamp da nicht so flexibel ist mit mehreren Soundkarten und so. Vielen Dank!!!

Ist es auch nicht. Du musst mehrere Kopien von Winamp auf der Festplatte haben. Dann kannst du jedem eine eigene Karte zuordnen. Aber auch dafür gibt es bald eine kofortablerere Lösung. :wink:

Gruß,

Toni