从计算机获取输出音频(使用 C#)

本文关键字:使用 音频 计算机 获取 输出 | 更新日期: 2023-09-27 18:35:23

我一直在研究这个问题,但似乎没有什么对我有用。我正在使用Visual c#,我几乎是一个初学者。我一直在尝试在播放时捕获计算机上播放的音乐的响度,并将其放入一些我可以在程序中使用的变量中。

我知道有很多关于这个问题的问题,但没有一个对我有用。Naudio网站没有帮助,Microsoft网站上的东西似乎都在C++?!?

从计算机获取输出音频(使用 C#)

对于直到Windows

XP的Windows操作系统,您可以使用pinvoke来获取音量:

    // Pre Windows Vista
    [DllImport("winmm.dll")]
    public static extern int waveOutGetVolume(IntPtr hwo, out uint dwVolume);

从 win vista 及更高版本开始,这部分都经过重新设计并包装在核心声音 API 中

您可能想看看 http://naudio.codeplex.com/库。他们有包装器获取主卷。

    MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
    MMDevice device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
    int result = (int)(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100);