如果 iphone 扬声器是 faulty/defective,AVAudioSession 实例会发生什么?

What happens to AVAudioSession instance, if the iphone speaker is faulty/defective?

我想知道以下问题的答案。

1) 如果我尝试使用 AVAudioSession 播放音频,其中 iphone 扬声器正在 faulty/defective/not 工作,会发生什么情况?

2) 有什么办法,以编程方式检查扬声器是否正常工作或其defective/faulty? 我想以编程方式而不是手动实现这一点!

请帮助或建议。

当扬声器出现故障或有缺陷时,avaudiosession 没有任何反应。它会正常完成工作,就像扬声器没有故障时一样。

例如,您的扬声器有故障,在一定级别后无法提高音量,或者由于某种原因变得非常慢,然后 avaudiosession 像 usaul 一样播放,但输出音量级别会很慢。

并且您无法检查诸如扬声器之类的东西是否有故障,因为故障可以是任何类型,因此没有 api 或可以识别硬件故障的方法。您可以查看空房情况!

这取决于具体是什么缺陷。如果是 iOS 无法检测到的缺陷,那么您的代码就像扬声器没有损坏一样工作,无法检测到它,用户将听不到声音或声音不好。

如果 iOS 检测到缺陷,那么 iOS 可能会表现得好像没有扬声器一样。 (过去有 iOS 台设备没有扬声器,您可以查看哪些硬件可用)。

另一方面,我会假设用户愿意在没有声音的情况下生活,或者正在插入 headphones 或通过 headphone 电缆连接扬声器,或者将要修复 phone。这不是我会考虑为其编写代码的东西。