这是一个很好的问题。对于 32 位 Windows 应用程序,答案是挂钩 winmm.dll 和其他低级音频控制 DLL。在 C# 中,我将创建一个包含 extern 方法原型的包装类:
public class MyAudioWrapper
{
[DllImport("winmm.dll", EntryPoint = "waveOutGetVolume")]
public extern void GetWaveVolume(IntPtr devicehandle, out int Volume);
...
}
Run Code Online (Sandbox Code Playgroud)
查看此链接以获取 Windows 音频方法列表;您可以使用混音器或仅使用波形输出控制器来设置音量。您想要使用的内容将决定要导入的库。您必须研究如何最好地定义原型,以及如何获取音频/混音器设备的句柄。