如何停止其他应用播放的背景音频?

时间:2011-12-17 09:39:26

标签: windows-phone-7 windows-phone-7.1

我有一个WP7的应用程序,使用BackgroundAudioPlayer因为我们需要在后台播放。问题是,当已经有一个应用程序在后台播放音频时,我无法让我的AudioPlaybackAgent工作,以前的音乐只是继续播放。

该文件以这种方式介绍,

BackgroundAudioPlayer.Instance.Close();

我只能关闭自己或Zune播放的音频,但是当其他应用播放音频时它不起作用。

那么有没有办法关闭所有播放的音频?

1 个答案:

答案 0 :(得分:1)

好的我修好了。

我做的就是这样,首先我为玩家设置了一条曲目:

BackgroundAudioPlayer.Instance.Track = ...;

然后在后台代理中触发OnPlayStateChanged事件,我在其中调用BackgroundAudioPlayer.Instance.Play()方法。这似乎很有效。

但如果后台播放器已被其他应用使用,那么当我设置音轨时,PlayState将不会更改为TrackReady,因此该事件不会触发。

要解决此问题,我只需在设置轨道后立即调用主UI线程中的.Play()方法。它有效。