/// <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> /// Sends request to the UWP application with the given Enum and string /// </summary> /// <param name="currentEnum">Enum associated with the action that is performed</param> /// <param name="result">string</param> public async void SendRequest(CommunicationEnums currentEnum, string result) { ValueSet request = new ValueSet(); request.Add(currentEnum.ToString(), result); await Connection.SendMessageAsync(request); }
/// <summary> /// Sends a request from the UWP to the listener with the given enum and obj /// </summary> /// <param name="currentEnum">Enum associated with the action that is performed</param> /// <param name="obj">Object with the needed information</param> /// <returns></returns> public async Task <string> SendRequest(CommunicationEnums currentEnum, object obj) { ValueSet request = new ValueSet(); request.Add(currentEnum.ToString(), obj); await Connection.SendMessageAsync(request); return(null); }
/// <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; } }