我正在制作一个应用程序,该应用程序将在以下语音帮助下说出某些语音命令时触发网页上的计时器
using System.Speech.Recognition;
我的语音识别有效。目标:每次识别短语时,将该短语发送到视图,在此我可以根据识别出的短语启动和停止计时器。
我知道如何简单地将模型发送到我的视图:
return View(SpeechRecognition.RecognizedPhrase);
但是,每当被识别时,如何完成向视图发送新短语?我不想每次都返回一个新的视图,我只想每次识别一个新短语时就更新视图中已经存在的当前模型。我该怎么做?
我的控制器
public class MapsController : Controller
{
// GET: Maps
public async Task<ActionResult> CursedHollow()
{
try
{
SpeechRecognition.GrammarRecognized += OnGrammarRecognized;
var t = Task.Run(() => SpeechRecognition.Init());
t.Wait();
if(!SpeechRecognition.isCurrentlyListening)
{
SpeechRecognition.StartListening();
}
}
catch(Exception e)
{
System.Diagnostics.Debug.WriteLine(e.Message);
}
//****I WANT TO SEND THE UPDATED RECOGNIZED PHRASE HERE, BUT NOT RETURN A WHOLE VIEW
return View(SpeechRecognition.RecognizedPhrase);
}
public static void OnGrammarRecognized(SpeechRecognizedEventArgs e)
{
System.Diagnostics.Debug.WriteLine("Recognized grammar from controller: " + SpeechRecognition.RecognizedPhrase);
}
}
答案 0 :(得分:0)
使用PartialView并使用Ajax更新Partial View。