Moin Zusammen,
da mir hier nun auch schon einige Male geholfen wurde, möchte ich hier nun auch mal was Vorstellen.
Zu meiner Konfiguration: Ich habe mein Haus komplett mit einer S7 1200 Automatisiert. Vor ein Paar Tagen habe ich IPS entdeckt und bin begeistert. Also IPS 4 auf Win10 über Netzwerk an S7 1200 Dazu noch ein paar ADAM 6050 als I/O die über die S7 angesteuert werden.
Seit längerem bin ich schon auf der Suche nach einem geeignetem Multiroom System. Dabei standen bei mir auch die Kosten im Vordergrund.
Meine Anforderungen:
-Alles über einen Rechner mit Mehreren Soundkarten.
-In Allen Räumen Synchron dieselbe Quelle wiedergeben
-In allen Räumen unterschiedliche Quellen
-Alle Räume separat in der Lautstärke regeln
-XBMC mit einbinden
Habe lange nach einer Lösung gesucht aber nichts gefunden.
Nun, mit IPS habe ich es folgendermaßen gelöst:
Ich bin im Netz auf „Virtuell Audi Cable“ gestoßen. Hierbei gibt es die Möglichkeit Audiorouter sowie Audio Cable einzurichten. VAC
Um es einfacher zu beschreiben, erkläre ich es hier mit 3 „Quellen“, also Playern und 2 Räumen.
Mit dem Virtuell Audio Cable (VAC) Können Audiogeräte also „Virtuelle Soundkarten alias Cable“ erstellt werden. Diese können entsprechend konfiguriert werden ( Stereo oder 5.1 usw…)
Den Einzelnen Playern kann nun als Ausgabegerät je eine Cable zugeordnet werden.
Wenn das soweit fertig ist, muss der Sound geroutet werden. Hierfür stehen bei VAC Repeater bereit. IN ist hierbei das jeweilige Cable, das den Playern zugeordnet ist. OUT ist die Soundkarte auf der der Sound ausgegeben wird.
Hier als Beispiel XBMC wird auf der Sounkarte Wohnzimmer ausgegeben.
Man kann nun für jeden Raum einen Repeater starten um den Sound zu routen:
Wohnzimmer: XBMC >Wohnzimmer oder Player1 > Wohnzimmer oder Player2>Wohnzimmer
Das gleiche auch für den zweiten Raum.
Dies soll jetzt aus IPS geschehen. Ich habe es folgendermaßen gelöst:
<?
//Wenn Routing gestartet erst Stoppen
If(getValue(35457 /*[Wohnzimmer\Multimedia\Variablen/Scripte\StatAudioWohn]*/)==true)
{
IPS_ExecuteEx("C:\Program Files\Virtual Audio Cable\audiorepeater.exe", ' /CloseInstance:Wohnzimmer',true, false, -1);
}
//Start routing
IPS_ExecuteEx("C:\Program Files\Virtual Audio Cable\audiorepeater.exe", ' /Input:"Player1_IN (Virtual Audio Cable" /Output:"Wohnzimmer (Realtek High Defini" /BufferMs:50 /SamplingRate:44100 /Priority:high /Autostart /WindowName:Wohnzimmer',true, false, -1);
// Statusvariable setzen
SetValueBoolean(35457 /*[Wohnzimmer\Multimedia\Variablen/Scripte\StatAudioWohn]*/,true)
?>
Die Variable 35457 ist hierbei einfach eine Statusvariable ob erst eine Verbindung gestoppt werden muss oder ob keine besteht. Input und Output müssen bei der Programmübergabe exakt dem Namen entsprechen der auch im Auswahlmenü des Repeaters aufgeführt ist.
In meinem Fall habe ich nun 3 Scripte pro Raum die ich starten kann um ein Soundrouting zu erstellen. Jeweils mit den unterschiedlichen Input und Output Namen. Das ganze kann mit Variablen und Übergaben bestimmt noch Pfiffiger erstellen aber dafür reichen meine Programmierkentnisse bisher nicht aus .Den Buffer habe ich auf 50ms gestellt um möglichst wenig Verzögerung (TV) zu bekommen.
Folgende Werte können der audiorepeater.exe übergeben werden:
/Input:
/Output:
/SamplingRate:
/BitsPerSample:
/Channels:
/ChanCfg:
/BufferMs:
/Buffers:
/Priority:
/WindowName:
/min
/AutoStart
/CloseInstance:
:o
Eine Haken hat die ganze Sache aber noch… Das VAC Programm ist Shareware… und kostet 49$
Die Lautstärkeregelung der einzelnen Soundkarten erkläre ich gleich auch nochmal.
Gruß
Thomas