如何确定Windows当前是否正在播放任何声音?

本文关键字:播放 任何 声音 是否 何确定 Windows | 更新日期: 2023-09-27 18:01:24

如何确定Windows当前正在通过主音频设备播放任何声音?我需要知道,这样我才能让我的程序自动调整音量

如何确定Windows当前是否正在播放任何声音?

您可以使用CSCore。
在这里下载-> http://cscore.codeplex.com/

将这些行粘贴到控制台项目中。

using System;
using CSCore.CoreAudioAPI;
namespace AudioDetector
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(IsAudioPlaying(GetDefaultRenderDevice()));
            Console.ReadLine();
        }
        public static MMDevice GetDefaultRenderDevice()
        {
            using (var enumerator = new MMDeviceEnumerator())
            {
                return enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);
            }
        }
        public static bool IsAudioPlaying(MMDevice device)
        {
            using (var meter = AudioMeterInformation.FromDevice(device))
            {
                return meter.PeakValue > 0;
            }
        }
    }
}

播放音乐是在YouTube,音乐播放器等…
运行程序。
它会自动通知(true/false)当前是否有音频正在播放。

你可能需要乱搞混音器控件。

混合控制

这些也可以帮助你。

用麦克风记录播放声音来测量扬声器音量

使用p/invoke和win-api来监控音频line-in (c#)