首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从SFSpeechRecognizer停止语音输入后处理文本

从SFSpeechRecognizer停止语音输入后处理文本
EN

Stack Overflow用户
提问于 2018-10-17 01:59:32
回答 2查看 416关注 0票数 1

我正在开发一个使用iOS SFSpeechRecognizer应用程序接口的语音转文本应用程序。

我找到了一个很棒的tutorial here:,它工作得很好。

我想要处理文本,并在语音输入停止后立即执行一些操作。那么,我很好奇SFSpeechRecognizer是否有一个委托方法可以识别语音输入何时停止,这样我就可以捕获输入并进一步处理?

EN

回答 2

Stack Overflow用户

发布于 2018-10-17 03:19:08

所以,我很好奇SFSpeechRecognizer是否有一个委托方法可以识别语音输入何时停止,这样我就可以捕获输入并进一步处理?

没有内置到SFSpeechRecognizer应用程序接口中,不。相反,这正是为什么您必须提供允许用户告诉识别器输入已完成的界面的原因(例如,某种Done按钮)。如果您忽略该接口,您的应用程序将被拒绝。

票数 1
EN

Stack Overflow用户

发布于 2018-10-17 02:17:42

一种可能的解决方案可能是使用像FDSoundActivatedRecorder这样的第三方库,它在检测到声音时开始录音,并在用户完成通话时停止录音。

然后,您可以使用录制的音频,就像在此link中一样,在go中将其转换为文本。

代码语言:javascript
复制
func transcribeAudio(url: URL) {
    // create a new recognizer and point it at our audio
    let recognizer = SFSpeechRecognizer()
    let request = SFSpeechURLRecognitionRequest(url: url)

    // start recognition!
    recognizer?.recognitionTask(with: request) { [unowned self] (result, error) in
        // abort if we didn't get any transcription back
        guard let result = result else {
            print("There was an error: \(error!)")
            return
        }

        // if we got the final transcription back, print it
        if result.isFinal {
            // pull out the best transcription...
            print(result.bestTranscription.formattedString)
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52841433

复制
相关文章

相似问题

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