Audio und Video-Ausgabekanal ändern

Für allgemeine Fragen zur Programmierung mit PureBasic.
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Audio und Video-Ausgabekanal ändern

Beitrag von Sven »

Kann ich die Ausgabekanäle für Audio und Movies, die über die PureBasic-eigenen Befehle oder über die MCI oder DirectX ausgegeben werden, beeinflussen? Also zum Beispiel ein Video auf einer zweiten Grafikkarte oder eine Audiodatei auf einer zweiten Soundkarte ausgeben, während die normale Anzeige auf der ersten Grafikkarte verbleibt?

Versteht jemand, was ich meine? ;-)

Sven
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Ich vermute, dass man da mit der Windows-API arbeiten muss.
Mit der bekommt man raus, welche Grafik- oder Soundkarte gerade verwendet wird und wieviele Geräte es noch von der Sorte im Rechner gibt. Anschließend stellst du die Standardausgabegeräte auf die Alternativen um und fertig.

Das Dumme ist nur, dass ich keinen blassen Schimmer habe, ob das wirklich so funktionieren könnte gescheige denn, ob die Methode nicht die falsche ist. Vielleicht muss man ja auch die Grafikkartentreiber/Soundkartentreiber ansprechen, damit sie die Signale an das andere Gerät senden.

Ich enpfehle dir mal in der MSDN von Microsoft zu gucken.


Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

Anschließend stellst du die Standardausgabegeräte auf die Alternativen um und fertig.
Naja, eigentlich wollte ich ja die Standardausgabe belassen und einen zusätzlichen Ausgabekanal haben. Geht sowas denn zum Beispiel mit FMOD?

Sven
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Mit fmod sollte es derzeit über den Umweg gehen, dass Du die fmod.dll kopierst und umbenennst in fmod2.dll. Danach dann die fmod.dll und die fmod2.dll per OpenLibrary öffnen und deren Funktionen mit CallFunction aufrufen. Per SetOuput dann den gewünschten Output wählen.
Dann kannst Du 2 Instanzen der fmod.dll parallel an verschiedenen Soundkarten nutzen. Habe ich noch nicht probiert, soll aber laut fmod.org-Forum so funktionieren und ist der Workaround bis zu fmod 4.0, welches generell auch mehrfach instanziiert werden kann (zumindest in C).
!UD2
Antworten