在iOS上使用语音输入后视频停止

时间:2017-08-01 06:47:54

标签: ios avfoundation avplayer avplayerlayer

我正在开发一个实时社交应用,它可以让用户在观看游戏时进行文字聊天。

我发现AVPlayer会在用户点击键盘上的语音输入时停止视频。

如何解决此问题?

enter image description here

2 个答案:

答案 0 :(得分:1)

这种情况会发生,因为当您录制语音时,来自视频的声音会中断录音(来自手机扬声器的声音将严重扭曲通过麦克风的声音)因此视频将自动停止。

请尝试添加以下代码:(只需设置一次)

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCa‌​tegoryAmbient, error: nil) 
AVAudioSession.sharedInstance().setActive(true, error: nil)

答案 1 :(得分:0)

我的解决方案是添加观察者

  

UITextInputCurrentInputModeDidChange

我不知道如何同时播放视频和使用语音输入(就像facebook iOS行为一样)

然而,我可以在语音输入完成后恢复视频(就像youtube iOS行为一样)

func textInputMethodDidChange(notification: NSNotification) {

    print("textInputMethodDidChange")

    if self.textInputMode == nil || self.textInputMode?.primaryLanguage != "dictation" {

        self.player.play()

    }

}