Azure JavaScript-STT-SDK在PC上很好用,但在手机上就不行了。
const audioConfig = AudioConfig.fromDefaultMicrophoneInput()
//code
speech() {
let that = this;
const speechConfig = SpeechConfig.fromSubscription(
"*******",
"*******"
);
speechConfig.speechRecognitionLanguage = "zh-CN";
const audioConfig = AudioConfig.fromDefaultMicrophoneInput();
const recognizer = new SpeechRecognizer(speechConfig, audioConfig);
recognizer.start;
recognizer.recognizeOnceAsync(result => {
switch (result.reason) {
case ResultReason.RecognizedSpeech:
console.log(`RECOGNIZED: Text=${result.text}`);
that.inputMsg = result.text;
console.log(" Intent not recognized.");
break;
case ResultReason.NoMatch:
console.log("NOMATCH: Speech could not be recognized.");
that.tts("没有听到您说话喔~");
break;
case ResultReason.Canceled:
const cancellation = CancellationDetails.fromResult(result);
console.log(`CANCELED: Reason=${cancellation.reason}`);
if (cancellation.reason == CancellationReason.Error) {
console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`);
console.log(
`CANCELED: ErrorDetails=${cancellation.errorDetails}`
);
console.log("CANCELED: Did you update the subscription info?");
}
break;
}
});
},
现在,要想在麦克风中使用它,你需要使用浏览器SDK,关于示例,你可以参考这个文档。从麦克风中识别语音.
Node: 当你用浏览器测试时,它不能在Safari浏览器上工作。 在Safari上,样本网页需要托管在Web服务器上;Safari不允许从本地文件加载的网站使用麦克风。