示例#1
0
    // Use this for initialization
    void Start()
    {
        VoiceRecorder   voiceRecorder   = voiceManager.GetComponent <VoiceRecorder>();
        AudioRecognizer audioRecognizer = voiceManager.GetComponent <AudioRecognizer>();

        recordButton.OnClickAsObservable().Subscribe(_ => {
            if (!isRecording)
            {
                voiceRecorder.StartRecord();
                materialButton.iconVectorImageData = stopIcon;
            }
            else
            {
                materialButton.iconVectorImageData = startIcon;
                var rec_data = voiceRecorder.FinishRecord();
                audioRecognizer.SpeechToText(rec_data);
                audioRecognizer.transcriptSubject.Subscribe(txt => {
                    inputField.text = txt;
                });
            }
            isRecording = !isRecording;
        });
        addButton.OnClickAsObservable().Subscribe(_ => {
            if (inputField.text != "")
            {
                commentController.AddComment(inputField.text);
                inputField.text = "";
            }
        });
    }
示例#2
0
 public ReportPage()
 {
     recorder = new VoiceRecorder();
     reporter = new Reporter();
     camera   = new Camera();
     InitializeComponent();
 }
示例#3
0
        private void NewUserCall(int who)
        {
            if (!VoiceRecorder.Recording)
            {
                VoiceRecorder.StartRecording();
                InCall = true;
            }

            if (FriendsInCall.FirstOrDefault(f => f.Friend.Id == who) == null)
            {
                Application.Current.Dispatcher.Invoke(delegate
                {
                    User newFriend = Client.Friends.FirstOrDefault(f => f.Id == who);
                    if (newFriend == null)
                    {
                        newFriend = new User(who, "Unknown friend", null);
                    }
                    Call newFriendCall = new Call(newFriend);
                    if (!FriendsInCall.Contains(newFriendCall))
                    {
                        FriendsInCall.Add(newFriendCall);
                    }


                    using (MemoryStream ms = new MemoryStream())
                    {
                        Resources.Resources.welcomeuser.CopyTo(ms);
                        Client.SendToServer(new ServerObject(ServerFlag.SendingData, new SenderObject(SenderFlags.Voice, ms.ToArray())));
                    }


                    newFriendCall.Frame = ImageSourceFromBitmap((Bitmap)newFriend.Picture);
                });
            }
        }
示例#4
0
    public void StartBoundingBox()
    {
        var             voiceManager    = GameObject.FindGameObjectWithTag("VoiceManager");
        VoiceRecorder   voiceRecorder   = voiceManager.GetComponent <VoiceRecorder>();
        AudioRecognizer audioRecognizer = voiceManager.GetComponent <AudioRecognizer>();
        var             eventTrigger    = this.gameObject.AddComponent <ObservableEventTrigger>();

        eventTrigger.OnPointerEnterAsObservable().Subscribe(_ => {
            Image img = this.GetComponent <Image>();
            Color c   = img.color;
            c.a       = 0.5f;
            img.color = c;
        });
        eventTrigger.OnPointerExitAsObservable().Subscribe(_ => {
            Image img = this.GetComponent <Image>();
            Color c   = img.color;
            c.a       = 0.1f;
            img.color = c;
        });
        eventTrigger.OnPointerDownAsObservable().Subscribe(_ => {
            voiceRecorder.StartRecord();
        });
        eventTrigger.OnPointerUpAsObservable().Subscribe(_ => {
            var rec_data = voiceRecorder.FinishRecord();
            audioRecognizer.SpeechToText(rec_data);
            audioRecognizer.transcriptSubject.Subscribe(txt => {
                AddData(txt);
            });
        });
    }
示例#5
0
 public void StartTest()
 {
     VoiceRecorder             = new VoiceRecorder(true);
     VoiceRecorder.Threesholds = Threesholds;
     VoiceRecorder.StartRecording();
     Testing = true;
 }
示例#6
0
 void Awake()
 {
     RateCount      = 0;
     beforePosition = transform.position;
     beforeRotation = transform.rotation;
     beforeScale    = transform.localScale;
     player         = GetComponent <VoicePlayer>();
     recorder       = GetComponent <VoiceRecorder>();
 }
示例#7
0
        private async void StartButtonClicked(object sender, EventArgs e)
        {
            if (isRecording)
            {
                return;
            }
            VoiceRecorder.StartRecording();

            isRecording = true;
        }
示例#8
0
        private void EndCall()
        {
            VoiceRecorder.StopRecording();
            ScreenRecorder.StopRecord();

            Application.Current.Dispatcher.Invoke(delegate
            {
                FriendsInCall.Clear();
                InCall = false;
            });
            Client.SendToServer(new ServerObject(ServerFlag.ExitFromGroup, Client.Id));
        }
示例#9
0
文件: Form1.cs 项目: usameavci/Merep
        private void button1_Click(object sender, EventArgs e)
        {
            if (button1.BackColor == Color.Black)//pasif
            {
                button1.BackColor = Color.Red;

                VoiceRecorder.BeginRecord();
            }
            else
            {
                button1.BackColor = Color.Black;

                VoiceRecorder.StopRecord();
            }
        }
示例#10
0
        public CallWindowVM(Image imagePreview)
        {
            ImagePreview = imagePreview;

            VoiceRecorder  = new VoiceRecorder();
            ScreenRecorder = new ScreenRecorder();

            FriendsInCall = new ObservableCollection <Call>();

            Client.NewUserCall    += NewUserCall;
            Client.CallDeclined   += CallDeclined;
            Client.CallingToGroup += CallingToGroup;
            Client.NewVoice       += NewVoice;
            Client.NewFrame       += NewFrame;
            Client.UserLeftRoom   += UserLeftRoom;
            Client.EndCall        += EndCall;
        }
示例#11
0
        private async void StopButtonClicked(object sender, EventArgs e)
        {
            if (!isRecording)
            {
                return;
            }

            VoiceRecorder.StopRecording();
            var speechResult = await SpeechService.RecognizeSpeechAsync(Constants.AudioFilename);

            if (!string.IsNullOrWhiteSpace(speechResult.DisplayText))
            {
                ResultEntry.Text = ResultEntry.Text + speechResult.DisplayText;
            }

            isRecording = false;
        }
示例#12
0
 private void RecordStopButton_Click(object sender, EventArgs e)
 {
     if (RecordStopButton.Text == "STOP")
     {
         _rec.recordStop();
         Configer.Tmp = "Recorded";
         this.Close();
     }
     else
     {
         this.ControlBox = false;
         for (int i = 0; i < 100; i++)
         {
             RecordStopButton.Text = (100 - i).ToString();
             RecordStopButton.Refresh();
             Thread.Sleep(10);
         }
         _rec = new VoiceRecorder();
         _rec.recordStart(Path.Combine(_profile.Name, _sound));
         RecordStopButton.Text = "STOP";
     }
 }
示例#13
0
        public ZeusMainViewModel()
        {
            try
            {
                //load creditentials
                _credits = new Creditentials();
                _credits.Load();
                //client
                HttpClient = new HttpClient();
                //speech recognition
                _microsoftSpeech             = new SpeechMicrosoft();
                _microsoftSpeech.Recognized += _microsoftSpeech_Recognized;
                //witAi
                _witAi = new SpeechWitAi(HttpClient,
                                         _credits.Credits.Where((x) => x.Provider == ApiProvider.WitAi).First().Path,
                                         _credits.Credits.Where((x) => x.Provider == ApiProvider.WitAi).First().Token);
                //voice recorder
                _recorder = new VoiceRecorder(0.05f, 1000);
                _recorder.DataAvailable    += Recorder_DataAvailable;
                _recorder.RecordingStopped += async(s, e) => await Recorder_RecordingStopped(s, e);

                //weather api
                _weatherApi = new WeatherApi(HttpClient,
                                             _credits.Credits.Where((x) => x.Provider == ApiProvider.OpenWeatherMap).First().Path,
                                             _credits.Credits.Where((x) => x.Provider == ApiProvider.OpenWeatherMap).First().Token);
                //scheduler
                _jobScheduler = new JobScheduler();
                //translator
                _googleTranslator = new GoogleTranslator(HttpClient);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Failed to create ZeusMainViewModel");
                System.Windows.MessageBox.Show("GoodBye, check logs");
                App.Current.Shutdown();
            }
        }
示例#14
0
 internal void StopTest()
 {
     VoiceRecorder.StopRecording();
     Testing = false;
 }