PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Win8] Wie Lautprecher-Konfig programmatisch ändern (Stereo <-> 5.1)


Nasenbaer
2014-04-06, 14:18:38
Moins,

ich möchte mir ein kleines Taskleisten-Tool schreiben mit dem ich mit einem Klick zwische Setero und 5.1-Konfiguration der Lautsprecher wechseln kann.

Im Netz ist dazu nicht viel zu finden, bzw. ich habe nicht die richtige Suchbegriffe.
In der MSDN fand ich das: Applying Speaker-Configuration Settings (http://msdn.microsoft.com/en-us/library/windows/hardware/ff536187%28v=vs.85%29.aspx) aber laut diesem Beitrag (http://stackoverflow.com/questions/1839221/audio-device-change-speaker-setup) geht das wohl nur unter WindowsXP.

Weiß jemand vielleicht mehr?

Hintergrund:
Normalerweise muss an dafür zu [Systemsteuerung] -> [Sound] -> [Wiedergabe] -> Rechtklick auf das Standardausgabegerät -> [Lautpsrecherkonfig. ändern].
Will man das 5mal am Tag machen, so dreht man früher oder später durch.

Ich brauch das, wenn ich abends nur mit Kopfhörern zocken will oder für "spezielle" Spiele wie Rocksmith oder zum Musik hören. Für normale Spiele will ich aber 5.1 haben.

Gast_samm
2014-04-06, 14:32:06
Habe kurz gegoogelt, weil mich das auch interessieren würde, aber nichts Elegantes gefunden.

http://stackoverflow.com/questions/2175318/how-to-change-default-sound-playback-device-programatically/2194590#2194590

http://stackoverflow.com/questions/9838514/setting-playback-device-by-executing-a-batch-file-powershell-script

:/

Nasenbaer
2014-04-06, 14:59:33
Jup derartige Skripte, die Keystrokes senden habe ich auch bereits einige auf StackExchange gefunden. Scheint wirklich nicht über WinAPI/DirectX oder Powershell zu gehen. :(

anddill
2014-04-06, 15:53:50
Xonarswitch kann sowas:
http://maxedtech.com/xonarswitch-beta-testing/
Das nutzt allerdings direkt Funktionen des Treibers, aber vielleicht kannst Du Dir da was abschauen.

Nasenbaer
2014-04-06, 17:16:41
Naja ist ja closed source und kommt nur als exe - viel mit abschauen ist da wohl nicht. Man könnte den Autor mal anschreiben und fragen ob er mehr zum Thema weiß.

Sephiroth
2014-04-06, 22:28:18
Jup derartige Skripte, die Keystrokes senden habe ich auch bereits einige auf StackExchange gefunden. Scheint wirklich nicht über WinAPI/DirectX oder Powershell zu gehen. :(
SCheint nicht nur so, sondern ist auch so.
In Windows Vista and later versions of Windows, SetSpeakerConfig is a NOP. For Windows Vista and later versions, the speaker configuration is a system setting that should not be modified by an application.
http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.idirectsound8.idirectsound8.setspeakerconfig%28v=vs.85%29. aspx

Aber vielleicht findest du ja im Programming Guide der Core Audio APIs (http://msdn.microsoft.com/en-us/library/dd316599%28v=vs.85%29.aspx) was.

Nasenbaer
2014-04-06, 22:33:26
Jo war mir dann auch fast klar als ich bemerkte, dass es zum Dx8 Interface gehört. Werd mir den anderen Link aber mal anschauen, danke.

Siegfried
2014-04-08, 09:06:21
Für den Zweck gibt es leider keine offenen APIs.
Man kann das Ganze aber umständlich über die Registry machen...
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Ren der\

edit: zumindest unter Vista/7

Virtuo
2014-04-08, 14:35:08
SSD – Set Sound Device müsste sowas können.

Virtuo
2014-04-08, 14:45:19
Oder vielleicht ist hier was für dich dabei.
https://www.raymond.cc/blog/easily-change-or-switch-the-default-audio-sound-output-in-windows-vista-and-xp/

Nasenbaer
2014-04-08, 19:49:05
@Virtuo
Nein, die Tools sind allesamt dafür gedacht um zwischen unterschiedlichen Soundkarten zu wechseln. Könnte zur Not natürlich die Kopfhörer an die interne Soundkarte anstöpseln wozu kaufe ich mir dann extra eine Dedizierte? :)


Ich bin bei Sephiroths ink noch nicht durch bzw. hatte gerade nicht die Zeit dazu - eher am Wochenende. Ansonsten schau ich mal in die Registry.

EDIT:
@Siegfried
Wobei ich grad mal einen Diff von dem Registry-Zweig vor (=5.1) und nach Wechsel auf Stereo gemacht hab. Hat sich gleich an mehreren Stellen was geändert und selbsterklärend sind die Einträge dort leider nicht wegen der GUIDs.

Siegfried
2014-04-08, 21:42:58
@Siegfried
Wobei ich grad mal einen Diff von dem Registry-Zweig vor (=5.1) und nach Wechsel auf Stereo gemacht hab. Hat sich gleich an mehreren Stellen was geändert und selbsterklärend sind die Einträge dort leider nicht wegen der GUIDs.
Sichern must du nur einen bestimmten Key/Order
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Ren der\{?-?-?-?-?}\Properties
Einer davon ist deine Soundkarte

Die Werte die du dort schreibst sind immer sofort unter "Configure Speakers" sichtbar
Ob sie auch sofort übernommen werden ist aber eine andere Frage :freak:

Nasenbaer
2014-04-08, 22:06:36
Jup das habe ich rausbekommen aber du hast vollkommen Recht - man bin ich blöd. =)

Ich muss ja nur beides Exportieren und dann immer das Importieren, dass ich gerade benötige. Stand vorhin aufm Schlauch. ^^

Mal grad testen ...