3

我想从 wp8.1 中的应用程序/后台任务中取消后台音频任务 - 有没有办法从代码中取消?在 msdn 或其他任何地方都找不到任何东西..

我为什么要这样做的背景:
在 wp8 中,很多用户对 systemmediacontrols 一直处于活动状态这一事实并不感到好笑。在 wp8.1 中也是如此:微软表示应该取消后台任务(i)当另一个应用程序想要使用背景音频时,或(ii)超时后(我想我在某处读过它)。由于在我的测试中似乎永远不会发生这种超时取消,我想让用户有可能关闭洞应用程序(包括背景音频)。

我将不胜感激任何建议。
最好的

4

2 回答 2

2

至于BackgroundMediaPlayer您可以调用BackgroundMediaPlayer.Shutdown ,正如MSDN所说:

BackgroundMediaPlayer.Shutdown 关闭媒体管道并从内存中释放 MediaPlayer 对象。如果您在调用 Shutdown 后再次尝试访问对 BackgroundMediaPlayer.Current 的引用,您将收到错误消息。关闭意味着应用程序在其任务被取消时清理媒体管道。

因此,请记住将所有处理程序与 Foreground-Background 通信分离,并禁止调用BackgroundMediaPlayer.Current,因为它将再次启动它。

于 2014-07-03T19:13:26.763 回答
0

处理取消的典型方法是通过传递一个CancellationToken. 有关详细信息,请参阅MSDN 上托管线程中的取消。

于 2014-07-03T19:03:04.093 回答