android - 如何实现 Xamarin 语音识别
问题描述
我是 xamarin 的新手,我想知道是否可以实现这种语音识别:
首先用户输入“Hello”,但文本输出将是“Hi”?
我找到了这个链接:Android语音识别将数据传回Xamarin Forms
但它只将语音“Hello”输出为文本“Hello”。
解决方案
语音识别通常涉及将您所说的内容翻译成文本。如果您需要更改其内容,也许您可以尝试在转换后直接进行一些判断并根据您的要求进行更改,例如更改上面链接中的结果:
在MainActivity OnActivityResult:
const int VOICE = 10;
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (requestCode == VOICE)
{
if (resultCode == Result.Ok)
{
var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults);
if (matches.Count != 0)
{
var textInput = matches[0];
if (textInput.Length > 500)
textInput = textInput.Substring(0, 500);
//make a judgment and change the value
if(textInput.Eques("hello")){
textInput = "Hi";
}
SpeechToText_Android.SpeechText = textInput;
}
}
SpeechToText_Android.autoEvent.Set();
}
}