我使用AVAudioSession
的overrideOutputAudioPort
方法在iOS扬声器中播放声音。 overrideOutputAudioPort
一言以蔽之,如果扬声器播放声音,我们如何检查输出音频是否被扬声器取代?
最佳答案
您可以使用currentRoute
进行检查,请考虑以下代码:
let currentRoute = AVAudioSession.sharedInstance().currentRoute
for output in currentRoute.outputs {
switch output.portType {
case AVAudioSessionPortBuiltInSpeaker:
print("Speaker is on.")
default:
break
}
}
您可以参考Apple Doc以获得更多信息。
原始帖子是here。但它与
if
进行检查,但switch
根据我的用法更好。您可以检测到苹果文档中提到的其他输出。