- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个有两个后台任务的应用程序:一个后台音频任务和一个蓝牙任务。我想要做的是在蓝牙任务的代码中修改音频播放的状态,而无需通过前台应用程序。我试着把它放在蓝牙任务中希望它能工作:
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/
我有一个有两个后台任务的应用程序:一个后台音频任务和一个蓝牙任务。我想要做的是在蓝牙任务的代码中修改音频播放的状态,而无需通过前台应用程序。我试着把它放在蓝牙任务中希望它能工作: if (Backgr
当我将应用程序的生命周期更改为“暂停和关闭”时,来自前台的事件 MessageReceivedFromBackground 没有触发? 当我更改为“暂停”并在更改为“恢复”之后一切正常。 最佳答案 有
WP 8.1有BackgroundMediaPlayer来播放背景音频。 http://www.jayway.com/2014/04/24/windows-phone-8-1-for-develope
我正在用 C# 创建一个计时器。当计时器结束时,用户将收到通知。 如果我的应用被挂起,我会使用 ToastNotificationManager 安排通知,并在 toast XML 中将声音设置为内部
我最近决定在我的应用程序中添加对播客的背景音频播放支持。我已经完成了大部分工作,但是 BackgroundMediaPlayer 的 SystemTransportControls 中的暂停按钮似乎没
我阅读了有关背景音频的 msdn 概述并查看了示例应用程序,但我对可以通过它们交换的消息和数据有点困惑。 ValueSet messageDictionary = new ValueSet(); me
我是一名优秀的程序员,十分优秀!