Ejemplo n.º 1
0
        /// <summary>
        /// Handler for incoming requests
        /// </summary>
        /// <param name="sender">AppServiceConnection</param>
        /// <param name="args">AppServiceRequestReceivedEventArgs</param>
        private async void Connection_RequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
        {
            ValueSet set  = args.Request.Message;
            Object   temp = null;

            CommunicationEnums currentEnum = CommunicationEnumsExtention.GetEnumFromValueSet(set.Keys);

            switch (currentEnum)
            {
            case CommunicationEnums.TurnKwsOn:
                Program.cognitiveServicesUtils.isKwnOn = true;
                Program.cognitiveServicesUtils.ContinuousRecognitionWithKeywordSpottingAsync();
                Console.WriteLine("KWS started");
                break;

            case CommunicationEnums.TurnKwsOff:
                Program.cognitiveServicesUtils.isKwnOn = false;
                await Program.cognitiveServicesUtils.KwsRecognizer.StopContinuousRecognitionAsync();

                Console.WriteLine("KWS stopped");
                break;

            case CommunicationEnums.Speech:
                await Program.cognitiveServicesUtils.KwsRecognizer.StopContinuousRecognitionAsync();

                await Program.cognitiveServicesUtils.RecognizeSpeechAsync();

                break;

            default:
                Console.WriteLine("Request Received not reccognized");
                break;
            }
        }
        /// <summary>
        /// Handler - takes care of incoming requests from the Listener
        /// </summary>
        /// <param name="sender">AppServiceConnection</param>
        /// <param name="args">AppServiceRequestReceivedEventArgs</param>
        private async void AppServiceConnection_RequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
        {
            Object   objReceived = null;
            ValueSet set         = args.Request.Message;

            CommunicationEnums currentEnum = CommunicationEnumsExtention.GetEnumFromValueSet(set.Keys);

            if (currentEnum == CommunicationEnums.NULL)
            {
                return;
            }

            if (!set.TryGetValue(currentEnum.ToString(), out objReceived) && objReceived == null)
            {
                return;
            }

            switch (currentEnum)
            {
            case CommunicationEnums.Speech:
                string message = (string)objReceived;
                Debug.WriteLine(message);
                await UwpKeywordSpotting.MainPage.mainPage.SetSpeechResultText(message);

                if (UwpKeywordSpotting.MainPage.mainPage.isKwsOn)
                {
                    await SendRequest(CommunicationEnums.TurnKwsOn, bool.TrueString);
                }
                await UwpKeywordSpotting.MainPage.mainPage.SetSpeechListeningViewVisibility(false);

                break;

            case CommunicationEnums.GuiOn:
                Debug.WriteLine("GUI");
                await UwpKeywordSpotting.MainPage.mainPage.SetSpeechListeningViewVisibility(true);

                break;
            }
        }