有没有办法使用 NAudio 控制单独的音量
我希望将大多数应用程序(例如 Steam、YouTube)减少到 50%,然后恢复它们 同时保持我的应用程序处于 100%
我可以上下减少总音量
我已经尝试过了
以下是如何使用 NAudio 和 Core Audio API 来调整音频会话音量的基本示例:
using NAudio.CoreAudioApi;
// Enumerate all audio devices
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
MMDevice defaultDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia);
// Get the audio session manager for the default audio device
IAudioSessionManager2 sessionManager = defaultDevice.AudioSessionManager as IAudioSessionManager2;
// Enumerate all audio sessions
foreach (IAudioSessionControl2 sessionControl in sessionManager.Sessions)
{
// Get the simple audio volume control for each session
ISimpleAudioVolume simpleVolume = sessionControl.QueryInterface<ISimpleAudioVolume>();
// Adjust the volume as needed
simpleVolume.MasterVolume = 0.5f; // Adjust volume to 50%
}
请注意,由于系统限制和安全策略,操作其他应用程序的音频会话可能存在限制,并且可能不适用于所有应用程序。此外,可能需要提升权限才能访问某些音频会话。请谨慎使用并考虑在应用程序中修改系统级音频设置的影响。