Programm zum wechseln des Soundausgangs bei einer Asus Xonar Essence STX - Richtiger Befehl?

  • Hallo Leute,

    ich bin neu hier und auch im Thema AutoIt neu. Ich wollte über AutoIt ein Programm realisieren, in dem ich den wechseln meiner Ausgänge an der Soundkarte "automatisiere". Um euch mal zu verdeutlichen wie mein Soundinterface aussieht habe ich hier einen kleinen Screenschot:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    Unter dem Reiter "Analog aus" soll dann entweder die erste Zeile "Kopfhörer" oder die zweite Zeile "2 Lautsprecher" ausgewählt werden.

    Also habe ich über den Befehl Run das Programm gestartet. und habe folgende Eigenschaften des Auswahlfensters ausgelesen:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    In der Dokumentation stieß ich dann auf die Funktion ControlCommand. Ich habe dann folgenden Code geschrieben

    [autoit]

    Run("C:\Program Files\ASUS Xonar Essence STX Audio\Customapp\AsusAudioCenter.exe")
    ControlCommand ("Xonar Essence STX Audio Center", "", 2401, "SelectString", 'Kopfhörer')

    [/autoit]




    Jetzt habe ich eine Frage: Kann ich über ControlCommand auch sagen, dass er z. B. Zeile 1 und Zeile 2 auswählen soll? Das mit den Strings funktioniert zwar, jedoch bin ich irgendwie jemand, der auf Konkrete Zahlen steht, als auf Strings :D


    Danke euch schon mal für eure Hilfe!


    Liebe Grüße


    Gamienator

  • OK, vielen Dank :)

    Ich bin gespannt ob das Programm heute noch funktioniert. Ich hab irgenwie Angst, dass sich die ID "2041" bei jedem Neustart ändert.

    Um jetzt aber noch ein bisschen abstrakter zu gehen: Momentan habe ich ja zwei Kompilierte a3x Dateien, einmal um auf Kopfhörer zu stellen und einmal auf 2 Lautsprecher. Ich benötige das aber nur, wenn ich im Teamspeak3 bin. Das bedeutet doch theoretisch, ich kann es in ein Skript zusammenfassen, dass TeamSpeak startet, auf Kopfhörer umstellt und sobald TS beendet ist wieder zurück auf Lautsprecher stellt. Ich bin mir aber gerade nicht sicher, ob mir die Funktion WinActive weiterhilft  ?(


    Das würde doch während TS offen ist eine Dauerschleife erzeugen und CPU Last erzeugen. Oder bin ich komplett auf der falschen Spur  ?(


    Liebe Grüße


    Gamie

    • Offizieller Beitrag

    Ja, ein Skript reicht. Ich würde einfach Teamspeak durch dein Skript starten.
    Ja, wenn du ein Schleife machst, die sagen wir alle 1000 ms überprüft ob der Prozess noch da ist (ProcessExists) dann erzeugt das etwas CPU-Last, aber die solltest du nicht bemerken.
    Falls die ID sich ändert, dann kannst du es auch mal versuchen ohne die ID. Also mit "".
    Warum a3x Dateien, warum nicht exe?

  • Also muss ich doch über die Schleife gehen die in regelmäßigen Abständen überprüft.

    Warum a3x Dateien? Ganz einfach: Mein Antiviren Programm entdeckt in meine .exe Dateien was bösartigen und löscht sie immer! Bitdefender ist da schon etwas komisch.

    sobald ich eine Exe ausführe, meldet sich Bitdefender "Bedrohung festgestellt" und die .exe wird gelöscht.