MP3 / Internetradio für mehrere Soundkarten / Designer

Ich möchte hier mal mein Projekt für den Designer vorstellen, welches folgende Möglichkeiten bietet:

[b]- beliebig viele Soundkarten (im Beispiel 5 Stück)

  • MP3 Steuerung
  • Musik zu Wiedergabelisten hinzufügen (wenn ein Lied gespielt wird kann dieses einfach einer Liste zugeordnet werden)
  • Musik in Wiedergabelisten löschen (wenn ein Lied gespielt wird kann dieses einfach aus einer Liste entfernt werden)
  • Internetradio
  • Lautstärkeregelung (nicht mit in das Script eingefügt, sollte jeder nach seinen Wünschen machen)[/b]

(Achtung beim hinzufügen und löschen von Wiedergabelisten werden die Dateien auf dem Datenträger kopiert oder gelöscht!)

Das Script ist so aufgebaut, dass jedem Raum eine Soundkarte zugeordnet ist.
Es sollten jeweils die Globalen Variablen für die arrays in einem Konstanten Script includiert werden.

Das mp3 und das Radiopanel liegen übereinander und werden mit einer Variablen (z.B. SK1_Status_mp3 oder SK1_Status_radio) über Visible ein/ausgeblendet.

Die einzelnen Wiedergabelisten- oder Radiosendernamen sind per Font.Color schwarz oder rot blinkend (für aktiv) mit der Variable Wiedergabeliste oder Radiosender verknüpft.
Dort auf Bitmask gehen und die Value Werte für alle Wiedergabelisten- oder Radiosendernamen eingeben (halt Flashing rot oder static schwarz)

Die Steuerung im Designer wird über IPSYMID Werte übernommen.

Beispiel:

  1. Das Script wird mit einem IPSYMID Wert „Raum_1“ gestartet.
  2. Es wird mp3 oder Internetradio gewählt. (OnClick Event auf das Script, mit der Übergabe von IPSYMID Wert „mp3“ oder „radio“)
  3. Es wird eine Wiedergabeliste gewählt und die Musik spielt (OnClick Event auf das Script, mit der Übergabe von IPSYMID Wert 1 bis XX, ja nach Anzahl der Wiedergabelisten oder Radiosender)

Weitere Möglichkeiten bestehen in mp3 Steuerung, löschen von Musik, hinzufügen von Musik zu den jeweiligen Wiedergabelisten.

Wiedergabelisten sind Ordnerbasiert, d.h. das jeder Wiedergabeliste ein Ordner zugeordnet ist.
z.B.


$mp3[1] = "E:/Musik/AAA__Räume__AAA/Tagesmusik_Top";
 $mp3name[1] = "Wiedergabeliste Tagesmusik";

 $mp3[2] = "E:/Musik/AAA__Räume__AAA/Zigarrenzimmer";
 $mp3name[2] = "Wiedergabeliste Zigarrenzimmer";

 $mp3[3] = "E:/Musik/AAA__Räume__AAA/Für Ältere";
 $mp3name[3] = "Wiedergabeliste Für Ältere";

 $mp3[4] = "E:/Musik/AAA__Räume__AAA/Nadin";
 $mp3name[4] = "Wiedergabeliste Nadiehn";

 $mp3[5] = "E:/Musik/AAA__Räume__AAA/Party-Hits";
 $mp3name[5] = "Wiedergabeliste Party";

 $mp3[6] = "E:/Musik/MP3s_Tracks";
 $mp3name[6] = "Wiedergabeliste Alles";

 $mp3[7] = "E:/Musik/AAA__Räume__AAA/Ruhig-Tranc";
 $mp3name[7] = "Wiedergabeliste Ruhe";

 $mp3[8] = "E:/Musik/AAA__Räume__AAA/Thomas";
 $mp3name[8] = "Wiedergabeliste Thomas";

Radiosender haben dieses Format(Links nicht alle aktuell!):


$radio[1] = "http://mdr.streamfarm.net/cms/radios/mdr/live/info_mp3.m3u";
 $radioname[1] = "MDR Info";

 $radio[2] = "mms://d621466636.w.ipx.core001.cdn.streamfarm.net/22004mdrjump/live/3087mdr_jump_live/de_44.wma?cid=51502&dummy=.wmv";
 $radioname[2] = "DJamp";

 $radio[3] = "mms://d621466635.w.ipx.core001.cdn.streamfarm.net/22003mdr1thueringen/live/3087mdr_thue/de_44.wma?cid=58517&dummy=.wmv";
 $radioname[3] = "Radio Thueringen";

 $radio[4] = "http://www.br-online.de/streaming/bayern3/bayern3_m32_red.asx";
 $radioname[4] = "Bayern 3";

 $radio[5] = "http://stream2137.init7.net:80";
 $radioname[5] = "Radiosender Klassik";

 $radio[6] = "http://64.236.98.50:80/stream/1002";
 $radioname[6] = "Neues Jahrhundert";

 $radio[7] = "http://64.236.98.50:80/stream/1024";
 $radioname[7] = "Eurodance";

 $radio[8] = "http://64.71.145.133:8010";
 $radioname[8] = "Ruhe";

Unterscript Wav_Ausgabe (zur Ausgabe von Wav Tönen):


 include("C:/Programme/IP-Symcon/scripts/Konstanten.ips.php");
 
 // Mehrfaches Triggern in kurzer Zeit verhindern
 if (!IPS_SemaphoreEnter("Wav_Ausgabe", 1)){return;}

 //------------------------------ Wav abspielen --------------------------------

 WAC_Stop($SKWAV[$Wav_SK]);
 WAC_SetRepeat($SKWAV[$Wav_SK], false);
 WAC_SetShuffle ($SKWAV[$Wav_SK], false);
 WAC_ClearPlaylist($SKWAV[$Wav_SK]);
 WAC_AddFile($SKWAV[$Wav_SK],$wav[$Wav_Titel]);
 WAC_Play($SKWAV[$Wav_SK]);

 //-----------------------------------------------------------------------------

 IPS_SemaphoreLeave("Wav_Ausgabe");

Wav Ausgabe hat dieses Format:


$wav = array(
 "Hinweis"  => "C:/WINDOWS/Media/Windows XP-Hinweis.wav",
 "Meldung"  => "C:/WINDOWS/Media/notify.wav",
 "Klingel"  => "C:/WINDOWS/Media/ringin.wav",
 "Abmelden" => "C:/WINDOWS/Media/Windows XP-Abmeldesound.wav",
 "Aus"      => "C:/WINDOWS/Media/Windows XP-Herunterfahren.wav");

Dieser Teil des Musik Scripts kann weggelassen werden, da er bei mir eine Grundlautstärke einstellt und das externe Programm nircmd.exe benutzt.
(kann jeder selbst machen)


$sk_arr[Mastervolume] = 6000;
SetValueInteger($sk_arr[Glob_Mastervolume], $sk_arr[Mastervolume]);
IPS_Execute("nircmd.exe setsysvolume $sk_arr[Mastervolume] master $sk_arr[Masterzahl]","",true,true);

MfG Thomas

Musik.ips.rar (1.84 KB)

mp3.JPG

radio.JPG

Hallo Thomas,

hast Du das Script schon für die Version 2 angepasst?
Schlage mich schon 'ne Weile damit rum, komm aber auf keinen grünen Zweig :(.

Ach Du meine Güte, wo hast Du diesen Beitrag ausgegraben:eek:
Ja klar geht unter V2.1 und ist global umgebaut…

ist global umgebaut…
Hatte ich mir schon gedacht,

würdest Du den aktuellen Quellcode posten?

Ich schaue mal, vieleicht am WE. :wink: