Steuern Sie die Lautstärke bestimmter Anwendungen mithilfe der Windows Core Audio Library
Anforderungen: Verwenden Sie den Windows-Lautstärkemixer, um die Lautstärke anderer Anwendungen wie Firefox zu steuern.
Umsetzung:
Die Windows Core Audio Library bietet Funktionen zum Zugreifen auf und Ändern von Audiogeräte- und Sitzungseigenschaften. Wir können diese Bibliothek verwenden, um die Lautstärke einer bestimmten Anwendung programmgesteuert zu steuern. Das Folgende ist eine C#-Beispielimplementierung:
<code class="language-csharp">using System; using System.Runtime.InteropServices; using System.Collections.Generic; namespace SetAppVolume { class Program { static void Main(string[] args) { const string app = "Mozilla Firefox"; // 获取所有活动音频应用程序的列表 foreach (string name in EnumerateApplications()) { Console.WriteLine("应用名称:" + name); if (name == app) { // 获取当前应用程序的音量和静音状态 float? volume = GetApplicationVolume(app); bool? mute = GetApplicationMute(app); if (volume.HasValue && mute.HasValue) { Console.WriteLine($"当前音量: {volume:F0}%,静音状态: {mute}"); // 将应用程序音量调整为50% SetApplicationVolume(app, 50); // 静音应用程序 SetApplicationMute(app, true); Console.WriteLine($"音量已设置为 50%,并已静音。"); } else { Console.WriteLine("无法获取应用程序音量或静音状态。"); } } } } // ... (GetApplicationVolume, GetApplicationMute, SetApplicationVolume, SetApplicationMute, EnumerateApplications 函数保持不变) ... } }</code>
Der Code listet zunächst alle aktiven Audioanwendungen auf. Nachdem die Ziel-App gefunden wurde, erhält sie die aktuelle Lautstärke und den Stummschaltungsstatus, stellt dann die Lautstärke auf 50 % ein und schaltet sie stumm. Um die Robustheit des Codes zu erhöhen, wurden Nullprüfungen für die Rückgabewerte GetApplicationVolume
und GetApplicationMute
hinzugefügt und Fehlerbedingungen entsprechend behandelt. Die Implementierung der Funktionen EnumerateApplications
, GetApplicationVolume
, GetApplicationMute
, SetApplicationVolume
, SetApplicationMute
bleibt die gleiche wie im Originaltext und wird hier nicht noch einmal beschrieben. Bitte stellen Sie sicher, dass Sie die erforderlichen COM-Referenzen zum Kompilieren dieses Codes hinzugefügt haben.
Diese überarbeitete Antwort bietet eine robustere und benutzerfreundlichere Implementierung durch Hinzufügen von Fehlerbehandlung und informativer Konsolenausgabe. Denken Sie daran, die erforderlichen COM-Referenzen für die Core Audio API einzuschließen, um diesen Code erfolgreich zu kompilieren und auszuführen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Lautstärke bestimmter Anwendungen in Windows mithilfe der Core Audio API programmgesteuert steuern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!