Seite 1 von 2

Sound-Ausgabegerät festlegen

Verfasst: 08.05.2024 09:21
von techniker
Hallo,

Als Haupt-Tonausgabegerät ist das Headset eingestellt.
In MS Teams kann man z.B. ein Zweit-Ausgabegerät einstellen, bei dem der Klingelton bei einem Anruf zusätzlich abgespielt wird.
Das Zweit-Gerät sind z.B. die Lautsprecher im Monitor.

Wie kann ich so etwas in PureBasic realisieren?

D.h. ich möchte festlegen, auf welcher "Soundkarte" (USB-Soundkarte, Audio-Out, HDMI, usw.) ein Audio-File abgespielt werden soll.
Momentan wird einfach nur das Haupt-Ausgabegerät verwendet. Dies ist i.d.R. das Headset.
Da der Benutzer selbiges in der Regel nicht immer trägt, bekommt er akustische Warn-Informationen nicht mit.
Ich muss nun erreichen, dass diese Informationen an ein definiertes Audiogerät gesendet werden.

Betriebssystem ist Windows 10 & 11

Danke :allright:

Re: Sound-Ausgabegerät festlegen

Verfasst: 08.05.2024 14:10
von H.Brill
vielleicht kann man sowas über das MCI-Interface von Windows regeln ?
Die installierten Geräte stehen in der System.ini Abschnitt [mci].

Re: Sound-Ausgabegerät festlegen

Verfasst: 08.05.2024 21:00
von Varistor
MCI ? System.ini ? Wir leben unter Windows 11 (bald 12). Die System.ini ist nur noch zur Zierde da. Aber trotzdem, MCI läuft tatsächlich immer noch und PB bietet ja zahlreiche Abspielmöglichkeiten, wo dann auch ein eigener Regler im Mixer auftaucht. Wie man das allerdings bei mehreren Soundkarten hinbekommt, danach suche ich auch schon längere Zeit.....

Re: Sound-Ausgabegerät festlegen

Verfasst: 22.05.2024 11:22
von Then
Hallo,

genau das ist nun mein Thema (war grad in der falschen Abteilung)

ich habe eine Art Wecker/Alarm-Ton, welcher abgespielt werden soll. Möglichs auf allen Audioausgabegeräten (USB Headset, Lautsprecher und Monitorlautsprecher (HDMI/DP)) Da manchmal das Headset leer ist oder die Lautsprecher ausgeschaltet werden, gehen dann nur noch die Speaker am Monitor. wie kann man das (möglichst ohne FMOD) realisieren ? MCI ? Oder API ?

Re: Sound-Ausgabegerät festlegen

Verfasst: 22.05.2024 14:49
von techniker
Ich bin mittlerweile fündig geworden:
https://www.purebasic.fr/english/viewto ... 38#p588638

Re: Sound-Ausgabegerät festlegen

Verfasst: 29.05.2024 19:16
von tft
Hallo,

ja ein spannendes Thema. Ich arbeite jetzt wider an meinem Projekt "Driving School Evergarden" und da kommt natürlich auch die Sound frage. Alle Demos und anderer Code sind entweder zu alt oder funktionieren trotzdem nicht. Eine Demo mit einem coolen Equalizer habe ich zum Laufen gebracht. Auch unter 6.10. Aber das Wählen des Ausgangs Device ........

Dabei habe ich garkeine hohen Ansprüche. AudioOutDevice auflisten, Sound Init mit Device Name, Load Sound, Play sound, Stop sound , free sound, IsRunning sound. Es ist schon sehr deprimierend, wenn man etwas nicht selber machen kann.

Der jenige der mir am besten helfen konnte, bekommt ein Banner in Game.

Re: Sound-Ausgabegerät festlegen

Verfasst: 30.05.2024 14:40
von Sicro

Re: Sound-Ausgabegerät festlegen

Verfasst: 06.06.2024 11:16
von Then
Okay, fast gut. Ich möchte aber kein Blub, sondern eine WAV Datei Abspielen. Die rauscht jedoch... Wo kann ich da einstellen, dass alle angeschlossenen Geräte den Sound abspielen ?

Re: Sound-Ausgabegerät festlegen

Verfasst: 07.06.2024 11:30
von tft
Ein funktionierendes Beispiel würde mich auch interessieren.

Gruss TFT

Re: Sound-Ausgabegerät festlegen

Verfasst: 07.06.2024 12:08
von RSBasic
Ich hab sowas letztes Jahr gebraucht. Mein PC ist im Arbeitszimmer und mein PC ist auch gleichzeitig mit einem KVM-Switch verbunden, damit ich die Möglichkeit habe, auch im Wohnzimmer auf dem Beamer auf meinen PC zuzugreifen. D.h. Grafikkartenausgang + Tastatur + Maus werden umgeleitet.
Jedenfalls ist es manchmal so, wenn ich den Ausgang zum Wohnzimmer switche, dann muss ich unter Windows den Audio-Ausgabekanal ändern auf den Epson-Beamer, sonst wird der Sound noch im Arbeitszimmer über die PC-Lautsprecher abgespielt. :D
Da das Umswitchen zwischen Wohnzimmer und Arbeitszimmer mit einem automatisierten Befehl auf meiner Macro-Tastatur erfolgt, wollte ich den Ausgabekanal ebenfalls automatisieren.
Zuerst habe ich mit PB + WinAPI versucht, aber das war mir zu aufwendig und es hat irgendwie nicht richtig geklappt.
Deshalb nutze ich folgendes kleine Programm: https://www.nirsoft.net/utils/nircmd.html
Einzeiler in PB zum Switchen des Audio-Ausgabekanals:

Code: Alles auswählen

RunProgram("D:\Programme\nircmd\nircmd.exe", ~"setdefaultsounddevice \"EPSON PJ\" 1", "D:\Programme\nircmd\", 0)
Das wäre eine Alternative, falls du nicht weiter kommst.