语音识别(语音转文本-STT cordova插件)



我正在Ionic2框架中寻找带有cordova插件的语音识别

如果它可以实现,你能温和地提供一个代码示例(.html和.ts)吗?

我发现了这个,但它是针对Ionic1的:http://devgirl.org/2016/01/08/speaking-with-cordova/我无法将代码调整为Ionic2。

我真的很感激你能提供的任何帮助,很抱歉我的英语不好。

来源:https://github.com/macdonst/SpeechRecognitionPlugin.

使用命令行,将此插件添加到Ionic2项目中:

cd Your_Project_Root_Folder

从iOS 10开始,必须在info.plist中添加NSMicrophoneUsageDescription才能访问麦克风。

要添加此条目,您可以在插件安装时传递MICROPHONE_USAGE_DESCRIPTION变量。

ionic plugin add https://github.com/macdonst/SpeechRecognitionPlugin --variable MICROPHONE_USAGE_DESCRIPTION="your usage message"

在iOS 10及更高版本上,它使用本机SFSpeechRecognizer(与Siri相同)。在iOS 9及更高版本上,它使用iSpeech SDK,需要API密钥,请在https://www.ispeech.org/,它是免费的。要提供密钥,请在config.xml 中添加此首选项

<preference name="apiKey" value="yourApiKeyHere" />

.ts文件的开头,在导入之后,在类定义之前添加声明

declare const SpeechRecognition: any;

然后,在你的课堂上:

recognition: any;
constructor() {}
SpeechToText() {
    this.platform.ready().then(() => {
        this.recognition = new SpeechRecognition(); 
        this.recognition.lang = 'en-US';
        this.recognition.onnomatch = (event => {
            console.log('No match found.');
        });
        this.recognition.onerror = (event => {
            console.log('Error happens.');
        });
        this.recognition.onresult = (event => {
            if (event.results.length > 0) {
                console.log('Output STT: ', event.results[0][0].transcript);            
            }
        });     
        this.recognition.start();
    });
}

iSpeech支持的语言有:英语(加拿大)(en-CA)英语(美国)(en-US)西班牙语(西班牙)(es es)法语(法国)(fr-fr)意大利语(意大利)(it it)波兰语(波兰)(pl pl)葡萄牙语(葡萄牙)(pt pt)

ps:对于iOS 10错误kAFAssistantErrorDomain,或者如果您必须等待结果,请检查此项。

完成

编辑:在Ionic v3.0.1(2017-04-06)上测试,工作正常:)

我使用这个AngularJS指令:

ng语音识别

相关内容

  • 没有找到相关文章

最新更新