>백엔드 개발 >C++ >Windows 볼륨 믹서를 사용하여 개별 응용 프로그램 볼륨 수준을 어떻게 제어할 수 있습니까?

Windows 볼륨 믹서를 사용하여 개별 응용 프로그램 볼륨 수준을 어떻게 제어할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-19 22:53:41393검색

How Can I Control Individual Application Volume Levels Using the Windows Volume Mixer?

응용 프로그램 볼륨의 세밀한 제어: 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)
                {
                    // 显示静音状态和音量级别(相对于主音量百分比)
                    Console.WriteLine("静音:" + GetApplicationMute(app));
                    Console.WriteLine("音量:" + GetApplicationVolume(app));

                    // 静音应用程序
                    SetApplicationMute(app, true);

                    // 将音量设置为主音量的二分之一(50%)
                    SetApplicationVolume(app, 50);
                }
            }
        }

        // ... (GetApplicationVolume, GetApplicationMute, SetApplicationVolume, SetApplicationMute, EnumerateApplications 函数代码保持不变) ...
    }
}</code>

(여기서 GetApplicationVolume, GetApplicationMute, SetApplicationVolume, SetApplicationMute, EnumerateApplications 함수의 코드는 원본 코드와 동일하므로 생략합니다. 중복을 피하기 위해 여기서는 반복되지 않습니다. )

이 코드는 지정된 애플리케이션("Mozilla Firefox")의 볼륨 및 음소거 상태를 프로그래밍 방식으로 액세스하고 수정하는 방법을 보여줍니다. 이 코드를 컴파일하고 실행하려면 필요한 COM 참조를 추가해야 합니다. 또한 이 예제는 단지 데모용이므로 실제 응용 프로그램에서는 보다 강력한 오류 처리 및 사용자 인터페이스가 필요할 수 있습니다.

위 내용은 Windows 볼륨 믹서를 사용하여 개별 응용 프로그램 볼륨 수준을 어떻게 제어할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.