首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SFSpeechRecognizer多种语言

SFSpeechRecognizer多种语言
EN

Stack Overflow用户
提问于 2019-05-23 08:07:09
回答 1查看 1.4K关注 0票数 4

我正在构建一个支持语音识别和将语音转换为文本的搜索,所以我使用了SFSpeechRecognizer。但问题是,我需要同时支持多种语言,例如("en_US“、"fr”、viar)。

主要的想法是,用户可以说,例如,一个词的英语和其他的法语,我希望引擎检测到这一点。

目前,我正在使用这个设置我的主要语言。

中文:

代码语言:javascript
复制
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en_US"))!

法语:

代码语言:javascript
复制
 private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "fr"))!

我需要把每一种语言都分开设置。

是否有一种方法使SFSpeechRecognizer同时支持多种语言?

EN

回答 1

Stack Overflow用户

发布于 2020-10-08 08:40:54

老问题,但还没有答案..。

您不能只在一个SFSpeechRecognizeer中使用更多的区域设置,但是可以同时管理多个SFSpeechRecognizer,如下所示:

代码语言:javascript
复制
let italian = SFSpeechRecognizer(locale: Locale(identifier: "it-IT"))
let english = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))

为所有这些人设置代表:

代码语言:javascript
复制
italian.delegate = self
english.delegate = self

根据需要创建双重、三重或多个逻辑,如:

代码语言:javascript
复制
self.recognitionTaskOne = italian?.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in
     // Your code
})
self.recognitionTaskTwo = english?.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in
     // Your code
})

等等..。

对于您的具体要求:

主要的想法是,用户可以说,例如,一个词的英语和其他的法语,我希望引擎检测到这一点。

我觉得你需要处理所有的输出并进行比较。无论如何,我注意到,如果我设置一个地区(例如意大利语),然后用户用英语发言,系统也会得到一些英语。这只适用于英语。我不确定,但我想无论你设置什么语言环境,英语都是默认的。

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

https://stackoverflow.com/questions/56270710

复制
相关文章

相似问题

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