public Socket StartListen() { try { _listener.Start(_listenCount); _serverState = ServerState.Started; _listenState = ListenState.Listen; _clientHandler = _listener.AcceptSocket(); _listenState = ListenState.NoListen; _listener.Stop(); OnClientConnectionStateChange(new ClientConnectionStateChangeEventArgs(), _cancelTask.Token); } catch (SocketException ex) { } catch (Exception ex) { } finally { } return(_clientHandler); }
private void Connector_SessionStarted(object sender, SessionEventArgs e) { Debug.WriteLine($"SessionStarted event, id = {e.SessionId}"); this.UpdateStatus("Listening ..."); this.player.Stop(); this.RunOnUiThread(() => this.ListeningState = ListenState.Listening); }
private void Connector_SessionStopped(object sender, SessionEventArgs e) { Debug.WriteLine($"SessionStopped event, id = {e.SessionId}"); UpdateStatus("Stopped listening"); listeningState = ListenState.NotListening; }
private void StartListening() { if (this.ListeningState == ListenState.NotListening) { if (this.connector == null) { this.InitSpeechConnector(); } try { // Bugbug: ListenOnceAsync() doesn't generate Session Started during KWS; if KWS is enabled, fake it here if (this.settings.RuntimeSettings.WakeWordEnabled) { this.Connector_SessionStarted(null, null); } else { this.ListeningState = ListenState.Initiated; } this.connector.ListenOnceAsync(); System.Diagnostics.Debug.WriteLine("Started ListenOnceAsync"); } #pragma warning disable CA1031 // Do not catch general exception types catch (Exception ex) { this.ShowException(ex); } #pragma warning restore CA1031 // Do not catch general exception types } }
private void Connector_SessionStarted(object sender, SessionEventArgs e) { Debug.WriteLine($"SessionStarted event, id = {e.SessionId}"); UpdateStatus("Listening ..."); player.Stop(); listeningState = ListenState.Listening; }
public async Task Initialize() { // Default the language to English this.ListenState = ListenState.Initializing; this.SourceLanguage = Language.English; try { await this.speechTranslateClient.Connect("en-US", "en", null, this.DisplayResult, this.SendAudioOut); var pcmEncoding = AudioEncodingProperties.CreatePcm(16000, 1, 16); var result = await AudioGraph.CreateAsync( new AudioGraphSettings(AudioRenderCategory.Speech) { DesiredRenderDeviceAudioProcessing = AudioProcessing.Raw, AudioRenderCategory = AudioRenderCategory.Speech, EncodingProperties = pcmEncoding }); if (result.Status == AudioGraphCreationStatus.Success) { this.graph = result.Graph; var microphone = await DeviceInformation.CreateFromIdAsync(((DeviceInformation)(await DeviceInformation.FindAllAsync(MediaDevice.GetAudioCaptureSelector())).First()).Id); this.speechTranslateOutputMode = this.graph.CreateFrameOutputNode(pcmEncoding); this.graph.QuantumProcessed += (s, a) => this.SendToSpeechTranslate(this.speechTranslateOutputMode.GetFrame()); this.speechTranslateOutputMode.Start(); var micInputResult = await this.graph.CreateDeviceInputNodeAsync(MediaCategory.Speech, pcmEncoding, microphone); if (micInputResult.Status == AudioDeviceNodeCreationStatus.Success) { micInputResult.DeviceInputNode.AddOutgoingConnection(this.speechTranslateOutputMode); micInputResult.DeviceInputNode.Start(); } else { throw new InvalidOperationException(); } // start the graph this.graph.Start(); this.ListenState = ListenState.NotListening; } else { this.ListenState = ListenState.Error; } } catch (Exception e) { this.ListenState = ListenState.Error; Logger.GetInstance().LogLine(e.Message); } }
private void ServerStop() { CloseServer(); listenState = ListenState.UnListen; startBtn.Text = "启动"; string curTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); listBox1.Items.Add(curTime + ":\r\n" + "服务端停止监听." + "\r\n"); listBox1.SelectedIndex = listBox1.Items.Count - 1; }
private void Connector_Canceled(object sender, SpeechRecognitionCanceledEventArgs e) { var err = $"Error {e.ErrorCode} : {e.ErrorDetails}"; this.UpdateStatus(err); this.RunOnUiThread(() => { this.ListeningState = ListenState.NotListening; this.Messages.Add(new MessageDisplay(err, Sender.Channel)); }); }
private void startListenTimeout(TimeSpan timeout) { this.ListenState = ListenState.Listening; if (null != this.listenTimer) { this.listenTimer.Dispose(); this.listenTimer = null; } this.listenTimer = new Timer(this.stopListen, this, (int)timeout.TotalMilliseconds, Timeout.Infinite); Logger.GetInstance().LogLine("Bamboo is listening."); }
private void Connector_SessionStopped(object sender, SessionEventArgs e) { var message = "Stopped listening"; if (this.settings.Settings.WakeWordEnabled) { message = $"Stopped actively listening - waiting for '{this.activeWakeWordConfig.Name}'"; } this.UpdateStatus(message); this.RunOnUiThread(() => this.ListeningState = ListenState.NotListening); }
private void Connector_SessionStopped(object sender, SessionEventArgs e) { var message = "Stopped listening"; Debug.WriteLine($"SessionStopped event, id = {e.SessionId}"); if (this.settings.RuntimeSettings.Profile.WakeWordEnabled) { message = "Stopped actively listening - waiting for wake word"; } this.UpdateStatus(message); this.RunOnUiThread(() => this.ListeningState = ListenState.NotListening); }
/// <summary> /// Starts or stops listening procedure /// </summary> /// <param name="start">Set true to start listening, othewise set false</param> /// <returns>Success if signalling was enabled, otherwise appropriate return code</returns> public TSessionError ListenReq(bool start) { if (!CAPI_Interface.IsRegistered) { return(TSessionError.Session_NotRegistered); } ; if (C_ListenState.ListenActive) { return(TSessionError.Listen_ListenActive); } ; ListenState.start_listen = start; ListenState.SM_Listen(C_ListenState.Listen_Events.LISTEN_REQ); return(TSessionError.Success); }
private void ServerStart() { ip = ipTb.Text.Trim(); port = Convert.ToInt32(portTb.Text.Trim());//int.Parse(portTb.Text.Trim()) listenFlag = true; try { //定义一个套接字用于监听客户端发来的信息 包含3个参数(IP4寻址协议,流式连接,TCP协议) socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint endPoint = null; //服务端发送信息 需要1个IP地址和端口号 if (!string.IsNullOrEmpty(ip)) { IPAddress ipaddress = IPAddress.Parse(ip); //获取文本框输入的IP地址 endPoint = new IPEndPoint(ipaddress, port); //获取文本框上输入的端口号 } else { //将IP地址和端口号绑定到网络节点endpoint上 endPoint = new IPEndPoint(IPAddress.Any, port); } //监听绑定的网络节点 socketWatch.Bind(endPoint); //将套接字的监听队列长度限制为20 socketWatch.Listen(20); //创建一个监听线程 threadWatch = new Thread(WatchConnecting); //将窗体线程设置为与后台同步 threadWatch.IsBackground = true; //启动线程 threadWatch.Start(); //启动线程后 txtMsg文本框显示相应提示 listBox1.Items.Add("服务器开始监听客户端..." + "\r\n"); listenState = ListenState.Listening; startBtn.Text = "停止"; } catch { listenState = ListenState.UnListen; startBtn.Text = "启动"; MessageBox.Show("启动服务器失败!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void StartListening() { if (listeningState == ListenState.NotListening) { try { listeningState = ListenState.Initiated; _ = connector.ListenOnceAsync(); Debug.WriteLine("Started ListenOnceAsync"); } catch (Exception ex) { UpdateStatus(ex.Message); } } }
private void Reset() { this.Messages.Clear(); this.Activities.Clear(); this.ListeningState = ListenState.NotListening; this.UpdateStatus("New conversation started"); this.StopAnyTTSPlayback(); this.InitSpeechConnector(); var message = "New conversation started - type or press the microphone button"; if (this.settings.RuntimeSettings.Profile.WakeWordEnabled) { message = $"New conversation started - type, press the microphone button, or say the wake word"; } this.UpdateStatus(message); }
private async void SpeechManager_ListenStateChanged(object sender, ListenState e) { switch (e) { case ListenState.Initializing: await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { this.SpeechStatusTextBlock.Text = "Initializing"; }); break; case ListenState.Listening: await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { this.SpeechStatusTextBlock.Text = "Listening"; this.ledStrip?.SetLEDColor(10, Colors.Blue); this.ledStrip?.Refresh(); }); break; case ListenState.NotListening: await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { this.SpeechStatusTextBlock.Text = "Not Listening"; this.ledStrip?.SetLEDColor(10, Colors.Black); this.ledStrip?.Refresh(); }); break; case ListenState.Error: await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { this.SpeechStatusTextBlock.Text = "Error"; }); break; } }
private void Connector_Canceled(object sender, SpeechRecognitionCanceledEventArgs e) { if (e.Reason == CancellationReason.Error && e.ErrorCode == CancellationErrorCode.ConnectionFailure && e.ErrorDetails.Contains("1000")) { // Connection was closed by the remote host. // Error code: 1000. // Error details: Exceeded maximum websocket connection idle duration (>300000ms = 5 minutes). // A graceful timeout after a connection is idle manifests as an error but isn't an // exceptional condition -- we don't want it show up as a big red bubble! UpdateStatus("Active connection timed out but ready to reconnect on demand."); } else { var statusMessage = $"Error ({e.ErrorCode}): {e.ErrorDetails}"; UpdateStatus(statusMessage); listeningState = ListenState.NotListening; AddMessage(new MessageDisplay(statusMessage, Sender.Channel)); } }
public void SetSessionListenState(ListenState state, ISession session) { switch (state) { case ListenState.Listening: lock (listen_sync) { listened.Add(session); } break; case ListenState.NotListening: lock (listen_sync) { if (listened.Contains(session)) { listened.Remove(session); } } break; } }
private void StartListening() { if (this.ListeningState == ListenState.NotListening) { if (this.connector == null) { this.InitSpeechConnector(); } try { this.ListeningState = ListenState.Initiated; this.connector.ListenOnceAsync(); System.Diagnostics.Debug.WriteLine("Started ListenOnceAsync"); } #pragma warning disable CA1031 // Do not catch general exception types catch (Exception ex) { this.ShowException(ex); } #pragma warning restore CA1031 // Do not catch general exception types } }
private void stopListen(object state) { this.ListenState = ListenState.NotListening; Logger.GetInstance().LogLine("Bamboo is no longer listening."); }
protected override void OnListeningStarted(ListenState state) { // Execute on the loop thread this.Worker.EnqueueJob(this.StartListeningCallback, state); }
public void SetSessionListenState(ListenState state, ISession session) { switch (state) { case ListenState.Listening: lock (listen_sync) { listened.Add(session); } break; case ListenState.NotListening: lock (listen_sync) { if (listened.Contains(session)) listened.Remove(session); } break; } }
public void Initiallize() { _listenState = ListenState.NoListen; _serverState = ServerState.Stopped; }
private void Connector_SessionStarted(object sender, SessionEventArgs e) { this.UpdateStatus("Listening ..."); this.RunOnUiThread(() => this.ListeningState = ListenState.Listening); }