gpt4 book ai didi

c# - 从另一个任务访问 BackgroundMediaPlayer

转载 作者:太空宇宙 更新时间:2023-11-03 15:47:11 24 4
gpt4 key购买 nike

我有一个有两个后台任务的应用程序:一个后台音频任务和一个蓝牙任务。我想要做的是在蓝牙任务的代码中修改音频播放的状态,而无需通过前台应用程序。我试着把它放在蓝牙任务中希望它能工作:

if (BackgroundMediaPlayer.Current.CurrentState == MediaPlayerState.Playing)
BackgroundMediaPlayer.Current.Pause();

但事实证明这是行不通的。即使背景音频正在播放,当我从蓝牙任务访问它的状态时,它的值也等于 MediaPlayerState.Closed()。任何人都知道我该怎么做?我认为这可行,因为 BackgroundMediaPlayer 是一个全局对象,在整个手机中只有一个实例,但显然 .Current 属性显然以某种方式特定于每个项目。我注意到它的类型是 MediaPlayer,那么有什么方法可以将对象放在一个全局容器中,我可以从两个任务访问它?

提前致谢

最佳答案

我只回答这个问题,以防像我这样的人仍然需要为 WP8.1 开发。

我能想到的唯一方法是将两个后台任务放在相同的解决方案并使用 ApplicationData.Current.LocalSettings 将值保存到设置中,并每隔一段时间从音乐播放器任务中的设置中提取更改。

基本上,后台音频任务会密切关注设置,看看蓝牙后台任务是否更改了设置,然后通过暂停或播放音频做出响应。

关于c# - 从另一个任务访问 BackgroundMediaPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27658987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com