从计算机获取输出音频(使用 C#)
本文关键字:使用 音频 计算机 获取 输出 | 更新日期: 2023-09-27 18:35:23
我一直在研究这个问题,但似乎没有什么对我有用。我正在使用Visual c#,我几乎是一个初学者。我一直在尝试在播放时捕获计算机上播放的音乐的响度,并将其放入一些我可以在程序中使用的变量中。
我知道有很多关于这个问题的问题,但没有一个对我有用。Naudio网站没有帮助,Microsoft网站上的东西似乎都在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);