C# 检查哪些程序正在播放音频?

C# 检查哪些程序正在播放音频?,c#,audio,process,C#,Audio,Process,我正在制作一个程序,我想找到播放音频的程序并将其静音,这样你所听到的都是我的 (这是程序的一个选项,没有恶意) 我已经查过了,我似乎找不到一种方法来检查哪些程序正在播放音频(就像windows一样) 我没有任何尝试这样做的代码示例,因为id不知道 如果有人读错了,或者我没有纠正上面的句子,我想找到每一个播放音频的过程,或者杀死或者静音这个过程有一个非常类似的方法,也许我在回答中发布的相同方法适合你的场景:。您需要更改文件的类型(转换为.mp3、.wav等)并终止找到的进程,但应用程序的进程除外

我正在制作一个程序,我想找到播放音频的程序并将其静音,这样你所听到的都是我的

(这是程序的一个选项,没有恶意)

我已经查过了,我似乎找不到一种方法来检查哪些程序正在播放音频(就像windows一样)

我没有任何尝试这样做的代码示例,因为id不知道


如果有人读错了,或者我没有纠正上面的句子,我想找到每一个播放音频的过程,或者杀死或者静音这个过程

有一个非常类似的方法,也许我在回答中发布的相同方法适合你的场景:。您需要更改文件的类型(转换为
.mp3
.wav
等)并终止找到的进程,但应用程序的进程除外


缺点:您需要以管理员身份运行应用程序,并且它还需要第三方控制台应用程序。

如果可以,您可以识别会话和应用程序
IAudioSessionControl
界面为您提供了静音选项,类似于用户通过标准音量混合器应用程序可以执行的操作(特别是会话静音)。

我会研究一下,但我从未见过这样的代码,这不意味着您需要api访问这些活动程序吗?也许,我的意思是,当windows从程序中获得所有当前声音时,他们会这样做吗?不完全是我想要的,但我会试试看。