UWP语音识别器的ContinuousRecognitionSession无法正常工作

时间:2016-08-03 10:13:10

标签: windows-10 uwp speech-recognition

以下是我在UWP应用页面加载事件中使用的代码,用于启动连续识别会话,但ResultGenerated事件永远不会被触发:

            SpeechRecognizer = new SpeechRecognizer();
            await SpeechRecognizer.CompileConstraintsAsync();
            bool PermissionGained = await CheckMicrophonePermission();
            if (PermissionGained)
            {
                SpeechRecognizer.ContinuousRecognitionSession.ResultGenerated +=
                    async (s, e1) =>
                    {
                        if ((e1.Result != null))
                        {
                            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                async () =>
                                {
                                    SpeechText.Text = e1.Result.Text;
                                });
                        }
                    };

                await SpeechRecognizer.ContinuousRecognitionSession.StartAsync();

我通过做一些小改动让它发挥作用。我在上面的代码下面注册了continuousRecognitionSession.Completed事件:

     SpeechRecognizer.ContinuousRecognitionSession.Completed += ContinuousRecognitionSession_Completed;

在处理程序中,我再次调用StartAsync,如下所示:

     private async void ContinuousRecognitionSession_Completed(SpeechContinuousRecognitionSession sender, SpeechContinuousRecognitionCompletedEventArgs args)
     {
            await SpeechRecognizer.ContinuousRecognitionSession.StartAsync();
     }

这样代码工作正常,但我想找出为什么它在第一种情况下无法识别或该代码有什么问题。

0 个答案:

没有答案