我的程序需要播放视频,视频播放时,需要暂停背景音乐,结束或划出可视区域暂停需要恢复背景音乐。
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
用这个代码确实可行,但会卡住 UI 一下。
尝试了一些方法, StackOverflow 上也碰到一些人提过,但是都没解决方法
其中一个是将 UI 先改变完,再调用。让用户感知不到,但我的应用是个列表视频,用户很容易感知到。
另外一个是个写 xamarin 的哥们的解决方法,将调用放到异步线程执行,这个哥们说可以解决这个问题,并写了一篇博客,拜读后自己尝试用 OBJC 实现,但无论是哪种异步执行,都会卡住 UI 。
有没有大神能分享下自己的解决方案么? 先非常非常感谢一下!!!