【问题标题】:C# Get Audio Volume For Each Speaker In 7.1 AudioC# 获取 7.1 音频中每个扬声器的音频音量
【发布时间】:2018-09-23 11:20:07
【问题描述】:

今天我正在尝试制作简单的 C# 应用程序来显示系统声音的实时音量。我使用此代码在NAudio library 上取得了成功:

var enumerator = new MMDeviceEnumerator();
var device = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);

while (true)
{
    Console.Write("\r{0}", device.AudioMeterInformation.MasterPeakValue);
}

// Output: 0,2314617

问题是我想获取我的 7.1 音频系统的每个扬声器的音量而不是主音量,所以输出将如下所示:

Speaker1: 0,435462
Speaker2: 0,237462
Speaker3: 0,535962
Speaker4: 0,335862
Speaker5: 0,835462
Speaker6: 0,635462
Speaker7: 0,335462
Subwoofer: 0,236562

有什么办法可以做到吗?如果有办法可以举个例子吗?

【问题讨论】:

  • 您可能正在寻找PeakValues 而不是MasterPeakValue
  • @RomanR。哦耶!非常感谢!我不知道我以前怎么看不到它。

标签: c# windows winforms audio waveform


【解决方案1】:

根据 Roman R. 的评论,我想出了这个解决方案:

    var enumerator = new MMDeviceEnumerator();
    var device = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);

    while (true)
    {
        for (int i = 0;i< device.AudioMeterInformation.PeakValues.Count;i++)
        {
            Console.WriteLine("ID: " + i + " : " + device.AudioMeterInformation.PeakValues[i]);
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多