IOS音频在耳机上播放,但必须在扬声器上播放

IOS音频在耳机上播放,但必须在扬声器上播放,ios,audio,avaudiosession,speaker,Ios,Audio,Avaudiosession,Speaker,我正在开发VoIP应用程序,它要求默认情况下在扬声器上播放音频,为此我使用了以下代码。但仍然在耳塞上播放音频。知道出了什么问题吗?我的应用程序应该在ios7上运行,在ios7中,control Center中有airplay选项,可用于将音频从耳塞切换到扬声器还有扬声器对耳塞。苹果默认情况下不允许应用程序在扬声器上播放音频。请给我解释一下 func SetUpCallAudio(){ AVAudioSession.sharedInstance() var sess

我正在开发VoIP应用程序,它要求默认情况下在扬声器上播放音频,为此我使用了以下代码。但仍然在耳塞上播放音频。知道出了什么问题吗?我的应用程序应该在ios7上运行,在ios7中,control Center中有airplay选项,可用于将音频从耳塞切换到扬声器还有扬声器对耳塞。苹果默认情况下不允许应用程序在扬声器上播放音频。请给我解释一下

func SetUpCallAudio(){
        AVAudioSession.sharedInstance()
        var sessionActive = AVAudioSession.sharedInstance().setActive(true, error: nil)
        NSLog("Audiosession setActive is \(sessionActive)")
        var outputroutes = AVAudioSession.sharedInstance().currentRoute.outputs
        NSLog("output routes are \(outputroutes)")
        AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord , error: nil)
        var audioRouteOverride  = AVAudioSessionPortOverride.Speaker
        var success =  AVAudioSession.sharedInstance().overrideOutputAudioPort(audioRouteOverride, error: nil)
        NSLog("audio override to speaker call is \(success)")
    }