Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检测另一个应用程序';s的音频正在后台播放?(UWP,Windows 10)_C#_Uwp_Windows 10 Universal_Naudio_Wasapi - Fatal编程技术网

C# 如何检测另一个应用程序';s的音频正在后台播放?(UWP,Windows 10)

C# 如何检测另一个应用程序';s的音频正在后台播放?(UWP,Windows 10),c#,uwp,windows-10-universal,naudio,wasapi,C#,Uwp,Windows 10 Universal,Naudio,Wasapi,我正在编写一个C#SDK(供UWP发行商使用),希望检测是否有其他应用程序(Pandora、Spotify、Amazon Music等)在后台播放音乐,以便我可以静音SDK的声音 似乎表明我可以使用BackgroundMediaPlayer.IsMediaPlaying(),但当我在web浏览器或亚马逊音乐应用程序中播放Pandora时,当其他应用程序播放音乐时,此方法似乎总是返回false 似乎表明我们过去可以使用Microsoft.Xna.Framework.Media.MediaPlaye

我正在编写一个C#SDK(供UWP发行商使用),希望检测是否有其他应用程序(Pandora、Spotify、Amazon Music等)在后台播放音乐,以便我可以静音SDK的声音

似乎表明我可以使用BackgroundMediaPlayer.IsMediaPlaying(),但当我在web浏览器或亚马逊音乐应用程序中播放Pandora时,当其他应用程序播放音乐时,此方法似乎总是返回false

似乎表明我们过去可以使用Microsoft.Xna.Framework.Media.MediaPlayer.State来检测另一个应用程序是否正在播放背景音乐,但我不认为UWP中没有此呼叫(如果我错了,请告诉我——我主要关心在桌面和XBox One上工作)


所以我的问题是,我如何确定另一个应用程序(在桌面、网络浏览器或Windows phone上)是否正在播放音乐?

我相信
BackgroundMediaPlayer.IsMediaPlaying
只检测WinRT/UWP应用程序的音频播放,而不检测Win32应用程序的音频播放。此API对于移动应用程序非常重要,因为在任何给定时间,您只能有一个带有背景音频的应用程序。我认为目前还没有办法在Win32应用程序中检测到这种情况。

BackgroundMediaPlayer.IsMediaPlaying方法现在已经过时。我注意到,如果在UWP中播放背景音乐,则调用Microsoft.Xna.Framework.Media.MediaPlayer.Play会成功,但实际上不会播放任何音乐,因此在某些情况下似乎不需要进行检查