首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Siri实现应用程序由于未被异常而终止应用程序崩溃的原因

Siri实现应用程序由于未被异常而终止应用程序崩溃的原因
EN

Stack Overflow用户
提问于 2017-05-16 07:52:35
回答 1查看 173关注 0票数 0

原因:“所需条件为假:_recordingTap ==为零”

代码崩溃

代码语言:javascript
运行
复制
1.  
guard let inputNode = audioEngine.inputNode else {
        fatalError("Audio engine has no input node")
    }  
2.  
inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { (buffer, when) in
        self.recognitionRequest?.append(buffer)
}

当尝试重新初始化siri时,它会崩溃

我们有文字听写,也在听写之后,我想从语音中捕捉文本。第一次没问题,第二次在二号线坠毁。

语音听写功能

代码语言:javascript
运行
复制
func getSpeech(asSpeach:String)
{
    print("===================")

    let audioSession  = AVAudioSession.sharedInstance()
    do {
        try audioSession.overrideOutputAudioPort(.speaker)
    } catch {
        print(error.localizedDescription)
    }


    /// <#Description#>
    let synthesizer = AVSpeechSynthesizer()
    let utterance = AVSpeechUtterance(string: asSpeach)
    utterance.rate = AVSpeechUtteranceDefaultSpeechRate
    utterance.volume = 1.0
    utterance.pitchMultiplier = 1.0
    synthesizer.delegate=self
    synthesizer.speak(utterance)

    //        synthesizer.rSpeaking(at: .word)


}
EN

回答 1

Stack Overflow用户

发布于 2017-05-16 08:22:20

错误是告诉您,您已经安装了该总线上的一个抽头,并且您不能再安装一个。

当您调用listen()时,首先在总线上安装水龙头。然后调用stopListening(),停止识别,但不对抽头做任何事情。然后,当您再次调用that ()时,您将再次尝试安装tap --这会产生错误。

您可以在removeTapOnBus ()中添加一些内容--这意味着您可以在再次开始侦听时再次添加它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43995478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档