我使用AVAudioSession
的{{1}}方法在iOS扬声器中播放声音。 overrideOutputAudioPort
我们如何检查输出的音频是否被扬声器取代,换句话说,声音是否由扬声器播放?
答案 0 :(得分:2)
您可以使用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
更好用。
您可以检测到苹果文档中提到的其他输出。