Beispiel #1
0
        private async Task SpeakContentSMS(Model.IMessengeData messengeData)
        {
            //messengeData.Reply("aaa");
            Log.Info(TAG, messengeData.GetAddrSender());
            await SpeakMsg("Get new SMS messeger ");
            await SpeakMsg("From ");
            await SpeakMsg(messengeData.GetAddrSender());
            await SpeakMsg("Name Sender ");
            await SpeakMsg(messengeData.GetNameSender());
            await SpeakMsg("Content of Messenger");

            //Log.Info(TAG, messengeData.GetMessengeContent());
            await SpeakMsg(messengeData.GetMessengeContent());

            await SpeakMsg("Do you want reply");
        }
Beispiel #2
0
        private async Task SMSHandleSpeak()
        {
            Contract.Ensures(Contract.Result <Task>() != null);
            //         STTLib _stt = STTLib.Instance();
            //SpeechRecognizer speech = SpeechRecognizer.CreateSpeechRecognizer(_context);
            //speech.SetRecognitionListener(this);
            //speech.StartListening(_stt.IntentSTT());

            Model.IMessengeData messengeData = null;
            _config.RunningSMSHandle = true;
            int status;

            status = -1;
            while (!_messengeQueue.Empty())
            {
                if (_config.UpdateConfig)
                {
                    _config.UpdateConfig = false;
                    await ttsLib.ReInitTTS();
                }
                messengeData = _messengeQueue.DequeueMessengeQueue();
                //Speak content SMS comming
                await SpeakContentSMS(messengeData);

                int tryNumber = 3;
                //Listen request of user : Yes or No
                while (status != 0 && tryNumber > 0)
                {
                    status = await listenRequest();

                    await Task.Delay(500);

                    if (status != 0)
                    {
                        tryNumber--;
                        await SpeakMsg("I can't hear you, please try again");

                        await Task.Delay(500);
                    }
                }
                if (status == 0)
                {
                    Log.Info(TAG, "status " + status.ToString());
                    Log.Info(TAG, "Listen Answer " + _answer);
                    //await Task.Delay(1000);
                    //Listen msg reply
                    await SpeakMsg("Please speak messenge after beep ");

                    await Task.Delay(500);

                    status    = -1;
                    tryNumber = 3;
                    while (status != 0)
                    {
                        status = await listenRequest();

                        await Task.Delay(500);

                        if (status != 0 && tryNumber >= 0)
                        {
                            tryNumber--;
                            await SpeakMsg("I can't hear you, please try again");

                            await Task.Delay(500);
                        }
                    }
                    Log.Info(TAG, "Listen reply " + _answer);
                    //messengeData.Reply(_answer);
                }
            }
            _config.RunningSMSHandle = false;
        }