- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个使用 AVPlayer 的应用程序,并设置为在应用程序处于后台时使用锁定屏幕控件进行操作。我已经适本地实现了以下内容:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[[AVAudioSession sharedInstance] setActive: YES error: &error];
并且我已经正确配置了 MPNowPlayingInfoCenter
。
我遇到的一个错误是,当我希望在从另一个应用程序(例如 Spotify)播放音乐后继续播放时,锁定屏幕的控件无法工作。为了重现此错误,我开始从我的应用程序播放音频,其中 setActive
在我的 AVPlayer 播放时被调用。然后我切换到 Spotify 并播放歌曲,此时我的音频逐渐减弱并暂停。几秒钟后,我切换回我的应用程序并恢复我的音频。当我锁定我的设备并按下锁定屏幕上的按钮时,我会在屏幕上看到我的音频信息,但我的所有控件都无法正常工作。
beginReceivingRemoteControlEvents
在启动时在我的 appDelegate 的 applicationDidBecomeActive
我的 appDelegate 的 dealloc 方法中确实有 endReceivingRemoteControlEvents
(这是我继承的遗留代码),但在这种情况下不会调用它。
编辑:我忘了注意,我正在运行 iOS11.4 的 iPad 上进行测试
编辑 2:抱歉,我没有提到这在更新到 iOS11.4 之前工作正常
编辑 3: 我发现了问题,这是一个埋在我们遗留代码中的 bool 标志,没有被重置
最佳答案
我们商店里有音乐播放器,所以我想试试你的问题。
尝试 MyApp > Spotify > MyApp 您定义的路由后,我无法重现该错误。信息中心按钮工作正常。
我们在 applicationDidEnterBackground
调用 beginReceivingRemoteControlEvents
。此时我们还调用了 addTargetWithHandler
。和 endReceivingRemoteControlEvents
在 applicationDidBecomeActive
。像这样:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
MPRemoteCommandCenter *remoteCommandCenter = [MPRemoteCommandCenter sharedCommandCenter];
[remoteCommandCenter.playCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus (MPRemoteCommandEvent *event) {
//....
}];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
}
当您的应用程序在后台运行时,会使用 MPRemoteCommandCenter 的性质。
问题可能出在事物的顺序上。
关于ios - 切换音乐应用后应用不再接收来自锁屏的控制事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51065881/
如何从 Android-Native-Screen 打开 flutter 屏幕? 我开了一个 Android-Native-Screen 从现有我们 flutter 项目 . 所以,在 Android
有人知道如何使用 java 和 google chrome 最大化 selenium webdriver 窗口吗? 我已经尝试过一些命令,例如maximize () window (),但没有成功。
Redmi A65 智能电视今天正式开卖,4K 超高清大屏 + 立体声扬声器,到手价 2599 元。 IT之家了解到,Redmi A65 智能电视搭载了一块 65 英寸 4K 屏,支持 HDR
9 月 26 日消息小米电视大师「至尊纪念版」将在 9 月 29 日发布,根据今天小米集团大家电部总经理李肖爽放出的海报显示,小米电视大师至尊版有两款。 小米电视大师「至尊纪念版」是小米首款
华为手环 6 今日在海外正式发布,英文名 Band 6。这款产品是华为手环 4 的升级版,屏幕尺寸由 0.96 英寸升级为 1.47 英寸 AMOLED 屏,分辨率 194 x 368。该手环外形类
我是一名优秀的程序员,十分优秀!