Windows Core 오디오 라이브러리를 사용하여 특정 애플리케이션의 볼륨 제어
요구 사항: Firefox와 같은 다른 응용 프로그램의 볼륨을 제어하려면 Windows 볼륨 믹서를 사용하십시오.
구현:
Windows Core 오디오 라이브러리는 오디오 장치 및 세션 속성에 액세스하고 수정하는 기능을 제공합니다. 이 라이브러리를 활용하여 특정 애플리케이션의 볼륨을 프로그래밍 방식으로 제어할 수 있습니다. 다음은 C# 구현 예입니다.
<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>
코드는 먼저 모든 활성 오디오 애플리케이션을 열거합니다. 대상 앱을 찾은 후 현재 볼륨과 음소거 상태를 가져온 다음 볼륨을 50%로 설정하고 음소거합니다. 코드의 견고성을 높이기 위해 GetApplicationVolume
및 GetApplicationMute
반환 값에 대한 null 검사를 추가하고 그에 따라 오류 조건을 처리했습니다. EnumerateApplications
, GetApplicationVolume
, GetApplicationMute
, SetApplicationVolume
, SetApplicationMute
함수 구현은 원문과 동일하므로 여기서는 다시 설명하지 않겠습니다. 이 코드를 컴파일하는 데 필요한 COM 참조를 추가했는지 확인하십시오.
이 수정된 응답은 오류 처리 및 유용한 콘솔 출력을 추가하여 더욱 강력하고 사용자 친화적인 구현을 제공합니다. 이 코드를 성공적으로 컴파일하고 실행하려면 Core Audio API에 필요한 COM 참조를 포함해야 합니다.
위 내용은 Core Audio API를 사용하여 Windows에서 특정 애플리케이션의 볼륨을 프로그래밍 방식으로 제어하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!