我的程序需要播放视频,视频播放时,需要暂停背景音乐,结束或划出可视区域暂停需要恢复背景音乐。
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
用这个代码确实可行,但会卡住 UI 一下。
尝试了一些方法, StackOverflow 上也碰到一些人提过,但是都没解决方法
其中一个是将 UI 先改变完,再调用。让用户感知不到,但我的应用是个列表视频,用户很容易感知到。
另外一个是个写 xamarin 的哥们的解决方法,将调用放到异步线程执行,这个哥们说可以解决这个问题,并写了一篇博客,拜读后自己尝试用 OBJC 实现,但无论是哪种异步执行,都会卡住 UI 。
有没有大神能分享下自己的解决方案么? 先非常非常感谢一下!!!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.