我使用AVAudioSessionoverrideOutputAudioPort方法在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根据我的用法更好。

您可以检测到苹果文档中提到的其他输出。

10-08 11:39