ich habe Winamp drei mal installiert und die DirectSound-Ausgabe jeweils so konfiguriert das jedes Winamp auf einer seperaten Soundkarte ausgibt. Funktioniert soweit gut, sogar bei gleichzeitigem spielen der Winamps.
Dann habe ich im IP-Symcon v2.0 die Instanzen für jedes winamp angelegt und festgestellt das immer nur auf einer Soundkarte ausgegeben wird. Egal was ich im Winamp konfiguriere, wenn es dann als Dienst läuft „ignoriert“ es die Einstellungen. Hab nun schon alles mögliche an Einstellungen versucht, ich bekomm immer nur die Ausgabe auf einer Karte hin. Hab probeweise mal eine Soundkarte deaktiviert, hatte den gleichen Effekt. Hab Versuchsweise alle Soundtreiber neu installiert, und verschiedene Einstellungen des Standartgeräts in der Systemsteuerung probiert.
Eines der audio-devices ist eine virtuelle Soundkarte für nen wlan player, aber aber auch der funktioniert wenn ich Winamp direkt starte.
Betriebsystem ist Win XP SP3.
Vielleicht hat ja einer eine Idee woran es liegen könnte.
Ja, hab ich - wenn es dich tröstet. Es liegt ziemlich sicher am Resourcenmanagement von Windows. Leider wird man da auf die Schnelle nichts machen können. Es sei denn paresy hat grad eine Eingebung…
Wenn paresy keine saubere Lösung in der Hinterhand hat muss ich wohl mit dem CoMedian gas geben. Der sollte aufgrund seiner Multi-Client Struktur keine Probleme machen.
Hallo Toni,
vielen Dank für die schnelle Antwort.
Jetzt weiß ich wenigstens das ich es wohl nicht weiterversuchen brauch,
und werde wohl auf den CoMedian warten müssen.
so ganz verstehe ich das Problem mit dem Resourcenmanagement von Windows noch nicht. Ich habe noch IPS V1 im Einsatz, damit laufen auch mehrere Winamps (ich habe für jeden Raum eine eigene Soundkarte und entsprechend ein eigenes Winamp).
Bedeutet das jetzt, unter V2 werden mehrere Winamps niemals laufen?
4Georg: Was in der Systemsteuerung unter Standardsoundkarte angegeben ist, ist eigentlich egal. Unter V1 gehts so: Du musst in Winamp unter Output direkt die Soundkarte einstellen, die benutzt werden soll. Danach beendest Du Winamp, dabei werden die Einstellungen automatisch gespeichert (damit beim nächsten Rechnerstart noch immer die korrekte Soundkarte angesprochen wird). IPS startet dann automatisch das beendete Winamp neu. Das machst Du mit allen Soundkarten und Winamp-Programmen.
Wichtig, Du solltest USB-Soundkarten nicht ständig abziehen und wieder neu anstecken, danach kann wieder einiges verstellt sein.
ich habe es so gemacht wie du beschrieben hast, unter v1 werden die Instanzen auch korrekt angesprochen, ebenso ohne IP-Symcon, nur wenn sie aus v2.0 gestartet werden tritt das Problem auf. In den jeweiligen Winamps ist das output plugin (DirectSound-Plugin) auf die jeweiligen Soundkarten eingestellt. USB Soundkarten verwende ich nicht. Die erste Soundkarte ist onboard, die zweite PCI, und die dritte virtuell (Abit Wlan Music).
Das Problem liegt darin begründet, dass IPS jetzt als Dienst läuft und Windows in diesem Fall strengere Regeln anlegt. Das ist begründet darin, dass sich Viren und Trojaner gern als Dienst installiert haben und als solcher Macht über den ganzen Rechner hatten. Das ist nun vorbei. Ein Dienst kann nicht mehr auf User-Resourcen zugreifen. Es ist beispielsweise auch garnicht so einfach eine Messagebox aus einem Dienst heraus zu öffnen weil der Bildschirm für den User reserviert ist. Sound ist das gleiche. Vieles geht, Vieles aber auch nicht.
IPS v1 lief nicht als Dienst sondern wurde vom User gestartet (autostart) damit gehört der Prozess dem User und hat keinerlei Einschränkungen.
da bin ich jetzt langsam aber doch baff. Wenn IPS V2 Winamp startet, dann benutzt Winamp nicht die gespeicherte Soundkarte, sondern immer die Standardausgabe?
Das ist für mich eine Katastrophe. Wie sieht es denn mit wsh-Scripten aus? Traust Du Dir eine Vorhersage zu? Ich starte beispielsweise das Programm mplayer und sende über die IPS auch entsprechende Tastaturbefehle an das Programm über wsh.
Was ist in V2 aus dem Befehl IPS_Execute geworden? funktioniert das dann auch nicht mehr?
Kann ich die Probleme evtl. umgehen, wenn ich den Dienst nicht unter dem Lokalen Systemkonto starte, sondern unter dem Account unter dem ich normalerweise auch arbeite?
Oder reicht es, wenn ich „Datenaustausch zwischen Dienst und Desktop zuzulassen“ aktiviere? Gibt es etwas zu beachten, baue ich damit neue Sicherheitslücken ein?
1.: So einfach kann man das nicht sagen. Ist sicherlich auch vom OS und „äusseren Umständen“ abhängig. Du speicherst ja nicht die Soundkarte sondern den die Nummer der gefundenen Soundkarte. Hast du zwei Soundkarten und wählst die zweite Aus, so wird Winamp immer die Zweite nehmen. Steht dem Dienst über die Systemresourcen keine oder nur Eine, so ist der zweite Eintrag ungültig und es wird der erste ausgewählt - oder keiner… Waveout über die Standardsoundkarte könnte hingegen klappen. DirectSound ist zum Beispiel generell ein Problem unter Vista. Was aber nicht heisst, dass es sonst immer funktionieren muss, aber auch nicht, dass es keine Chance gibt. Frage umformuliert: Musst du mit Problemen rechnen bei Winamp unter IPS2? Ja.
2.: Also IPS_Execute gibt es noch und funktioniert. Allerdings hat ein Dienst keinen Zugriff auf den User-Desktop. Das bedeutet ein Fenster wird mit IPS_Execute auf dem Systemdienst Desktop geöffnet und ist somit unsichtbar für den User. Ausserdem taucht das gestartete Programm im Taskmanager auf - es läuft ja - aber es lässt sich vom user nicht beenden, weil er ja keine Rechte darauf hat. Schließlich wurde es vom Systemdienst gestartet.
ich habe jetzt den „Datenaustausch zwischen Dienst und Desktop zugelassen“, und es scheint soweit zu funktionieren. Die GUI’s kommen zum Vorschein und in diesen kann ich die Ausgabe konfigurieren, und es wird auf der jeweilig eingestellten Soundkarte ausgegeben.
Beim IPS_Execute Befehl werden die jeweiligen Fenster jetzt auch sichtbar.
Handle ich mir damit, wie Christoph schon fragte, irgendwelche Sicherheitslücken ein?
Ich denke mit wsh meint er den Windows Scripting Host.
Ja tust du. Das wurde von MS abgeschltet wegen der Gefahr, dass Viren und Trojaner sich als Dienst einnisten und dein Virenscanner keinen Zugriff auf sie hat.
Aber als schnelle Lösung fällt mir auch nix besseres ein. Ich arbeite bereits an Lösungen.
Hm, ich hoffe, da ist noch eine Lösung geplant. Es muss ja nicht unbedingt Winamp sein, es würde ja reichen, wenn die Playlists direkt über die IPS abgespielt werden könnte. Allerdings ist damit wohl das Soundkartenproblem auch nicht gelöst.
Wo taucht das Prg. auf unter Anwendungen, oder unter Prozesse? Wenn es unter Anwendungen erscheint gebt es keine Probleme, dann kann WSH auch darauf zugreifen.
wsh ist Windows Scripting Host. Ist recht nützlich um Programme über die IPS zu steuern.
So. Ich habe mir die Problematik angeschaut und mit Winamp scheint dort nicht viel zu machen zu sein, ohne unschöne Tricks anzuwenden.
Ich habe aber vielleicht eine andere, bessere Lösung… Gebt mir ein paar Tage Zeit. Ich muss die Sache noch in ein Modul bauen und gucken, ob es wirklich wie gewünscht funktioniert…
ich hätte da gleich noch einen Wunsch. Wenn die Playlist-Möglichkeit implementiert wird, kannst Du dann auch gleich dafür sorgen, dass die Zeit für die Überblendung zweier Titel eingestellt werden kann?
Winamp habe ich im Moment auf 10 Sekunden Überblendung eingestellt d. h. 10 s vor Ende blendet der aktuelle Titel langsam aus und gleichzeitig wird der neue Titel gestartet und 10 s lang eingeblendet.
ich bin gerade am testen des neuen Media Players. Die Übernahme der Winamp-Instanzen hat soweit funktioniert, nur erzeugen die Instanzen jede Sekunde 2 bis 3 Meldungen: TimerID #27 ; MediaPlayer = Position is out of bounds.
Das Ganze erzeugt dann eine Prozessorlast von 100%, die Wiedergabe funktioniert zwar, aber es lässt sich sonst fast nix machen.
Versuchsweise habe ich die Instanzen deinstalliert und wieder installiert, und nur wenn nur eine Instanz installiert ist, werden die Melungen nicht erzeugt, und die Prozessorlast ist im üblichen Rahmen.
Woran könnte das liegen?