1
我使用UWP創建智能鏡像應用程序,我希望用戶使用語音來控制應用程序。到目前爲止,我做了一個測試語音識別的簡單程序,它可以工作,但我只希望當應用程序聽到關鍵詞 - 「Jason」時,它就會開始將語音轉換爲文本(我稱之爲我的智能鏡像Jason )就像:「傑森,給我看一些消息」,因爲之後我會將文字按摩傳遞給LUIS功能。如果該句子不以「Jason」開頭,則該應用不會將其轉換爲文本。我該怎麼做才能做到呢? 「UWP連續語音識別
private SpeechRecognizer contSpeechRecognizer;
private CoreDispatcher dispatcher;
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
dispatcher = CoreWindow.GetForCurrentThread().Dispatcher;
contSpeechRecognizer = new Windows.Media.SpeechRecognition.SpeechRecognizer();
await contSpeechRecognizer.CompileConstraintsAsync();
contSpeechRecognizer.ContinuousRecognitionSession.ResultGenerated +=ContinuousRecognitionSession_ResultGenerated;
contSpeechRecognizer.ContinuousRecognitionSession.AutoStopSilenceTimeout = TimeSpan.FromDays(1);
contSpeechRecognizer.ContinuousRecognitionSession.Completed += ContinuousRecognitionSession_Completed;
await contSpeechRecognizer.ContinuousRecognitionSession.StartAsync();
}
private async void ContinuousRecognitionSession_Completed(SpeechContinuousRecognitionSession sender, SpeechContinuousRecognitionCompletedEventArgs args)
{
await contSpeechRecognizer.ContinuousRecognitionSession.StartAsync();
}
private async void ContinuousRecognitionSession_ResultGenerated(SpeechContinuousRecognitionSession sender, SpeechContinuousRecognitionResultGeneratedEventArgs args)
{
await dispatcher.RunAsync(CoreDispatcherPriority.Normal,() =>
{
SpeechResult.Text = args.Result.Text;
});
}