这是这个问题的延续:Getting individual windows application current volume output level as visible in audio Mixer
如何注册一个在应用程序(例如 windows 媒体播放器)的当前输出音量发生变化时被调用的 EventHandler?换句话说,如何注册一个 EventHandler,只要 AudioSessionControl 的 GetPeakValue 发生变化,它就会被调用?
对于我的应用程序,我希望每当 Windows Media Player 的 PeakValue 发生变化时,都应该调用一个函数,而不是我不断地轮询当前的 PeakValue 以识别是否有变化。
我正在使用 CSCore.CoreAudioAPI 来获取任何应用程序的当前音频值。我尝试在 CSCore 中使用 AudioSessionEvents(及其事件处理程序,如 SimpleVolumeChanged、ChannelVolumeChanged),但是我没有找到任何方法将 AudioSessionControl 对象传递给附加的处理程序。