AVAudioSession - 捕获 setMode 和 setCategory 错误

Posted

技术标签:

【中文标题】AVAudioSession - 捕获 setMode 和 setCategory 错误【英文标题】:AVAudioSession - catching setMode and setCategory errors 【发布时间】:2016-11-10 06:13:56 【问题描述】:

我在仅执行音频播放的应用中使用 AVAudiosession。我在applicationDidFinishLaunchingWithOptions: 中设置了我的audioSession 的模式和类别。

let audioSession = AVAudioSession.sharedInstance()

do 
   try audioSession.setMode(AVAudioSessionModeDefault)
   try audioSession.setCategory(AVAudioSessionCategoryPlayback)

catch 

在我的应用程序的生命周期中,我从未设置过不同的模式或类别,当用户点击播放按钮时,我会激活我的音频会话。在什么情况下这些方法(setMode:error:setCategory:error)会引发错误?我应该期望在我的 catch 块中处理什么?

【问题讨论】:

【参考方案1】:

没有音频输出的假设(未来?)设备可能会引发无效的音频会话类别错误。或者操作系统音频驱动程序可能已经崩溃并且无法访问。可能会通知用户设备由于某种未知原因无法播放音频。

【讨论】:

以上是关于AVAudioSession - 捕获 setMode 和 setCategory 错误的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioSession 学习笔记

iOS 音频-AVAudioSession

何时使用AVAudioSession.setActive?

AVAudioSession 和 AirPods

AVAudioSession 斯威夫特

IOS:AVAudioSession 不工作