private void DisconnectNow() { lock (objlock) { try { if (_client != null) { try { if (_speakHost != null) { _speakHost = null; } _client.Disconnect(); _client.Dispose(); } catch (Exception) { } } } catch (Exception) { } } }
public UnderstandingTest_ViewModel_WPF( ILogger Logger_, INavigationService NavigationService_, IDialogService DialogService_, AppSetting AppSetting_, IAudioAPI AudioAPI_, IMvxMessenger Messenger_, ISpeechAPI SpeechAPI_, ILocalization loc_) : base (Logger_,NavigationService_,DialogService_,AppSetting_,AudioAPI_,Messenger_,SpeechAPI_,loc_) { }
public PlayerWindow_ViewModel_WPF( ILogger logger, INavigationService navigationService, IDialogService dialogService, AppSetting appSetting, ISpeechAPI speechApi, IAudioAPI audioApi, IMvxMessenger messenger, ILocalization loc) : base(logger,navigationService,dialogService,appSetting,speechApi,audioApi,messenger,loc) { if (!IsInDesignModeNet()) { player = Mvx.Resolve<IPlayer>(); } }
private void DisconnectNow() { if (_client == null) { return; } try { SpeechHost = null; _client.Disconnect(); _client.Disconnected -= OnClientDisconnect; _client.Connected -= OnClientConnect; _client.Dispose(); } catch (Exception exception) { Console.WriteLine($"Error while disconnecting speaker client : {exception.Message}"); } }
private void Connect(int attempts) { try { _client.Connect(); SpeechHost = _client.ServiceProxy; //make sure the interface is supported try { var speakHostVersion = SpeechHost.version(); if (speakHostVersion != SPEAKER_INTERFACE_VERSION) { Console.WriteLine("Speaker API version mismatch"); DisconnectNow(); return; } } catch (Exception exception) { Console.WriteLine($"Error attempting to connect to server, please check your connection options: {exception.Message}"); DisconnectNow(); return; } var response = SpeechHost.Connect(HostName, ClientName, IpAddress, _username, _password); if (string.IsNullOrEmpty(response)) { return; } Console.WriteLine($"Error, Unable to connect speaker client interface: {response}"); DisconnectNow(); } catch (Exception exception) { Console.WriteLine($"Cannot connect speaker client attempt {attempts.ToString()}"); if (exception.Message.ToLower().Contains("timeout occurred.") && attempts < 6) { Connect(attempts + 1); } else { DisconnectNow(); Console.WriteLine($"Error, Unable to connect speaker client interface: {exception.Message}"); } } }
public UnderstandingTest_ViewModel( ILogger Logger_, INavigationService NavigationService_, IDialogService DialogService_, AppSetting AppSetting_, IAudioAPI AudioAPI_, IMvxMessenger Messenger_, ISpeechAPI SpeechAPI_, ILocalization Loc_ ) { if (!IsInDesignMode) { Logger = Logger_; NavigationService = NavigationService_; DialogService = DialogService_; AppSetting = AppSetting_; AudioAPI = AudioAPI_; Messenger = Messenger_; SpeechAPI = SpeechAPI_; Loc = Loc_; Speak_Command = new MvxCommand(Speak_cmd); PressWordButton_Command = new MvxCommand<ButtonModel>(PressWordButton_Cmd); } ButtonsCollection = new ObservableCollection<ButtonModel>(); if (IsInDesignMode) { string[] tarr = { "Good news everyone !\nLine1\nLine2", "What's happening here ?\nLine1", "Hello world!" }; for(int i = 0; i < 3; i++) ButtonsCollection.Add(new ButtonModel() {Text = tarr[i] }); CurrentSub = new SubtitleItem() { Text = "This is current subtitles item.\nLine 2\nLine3" }; } }
public bool Connect(string username, string password) { lock (objlock) { string ipAddress = "127.0.0.1"; Logger.LogInfo("Connecting speaker client {0} to HomeSeer IP {1}", _clientName, ipAddress); try { _client = ScsServiceClientBuilder.CreateClient <ISpeechAPI>(new ScsTcpEndPoint(ipAddress, 10401), this); _client.Disconnected += new EventHandler(ClientDisconnected); _client.Connected += new EventHandler(ClientConnected); } catch (Exception e) { Logger.LogError(e.ToString()); return(false); } try { _client.Connect(); _speakHost = _client.ServiceProxy; //make sure the interface is supported int v; try { v = _speakHost.version(); } catch (Exception e) { Logger.LogError("Error attempting to connect to server, please check your connection options: {0}", e.Message); return(false); } if (v != SPEAKER_INTERFACE_VERSION) { Logger.LogError("Speaker API version mismatch"); return(false); } //string localIp = Util.GetLocalIp(); string rval = _speakHost.Connect("Sample Plugin", _clientName, "127.0.0.1", username, password); if (!string.IsNullOrEmpty(rval)) { Logger.LogError("Error, Unable to connect speaker client interface: {0}", rval); DisconnectNow(); return(false); } } catch (Exception e) { Logger.LogError("Error while connecting speaker client: {0}", e.ToString()); return(false); } } return(true); }
public PlayerWindow_ViewModel( ILogger Logger_, INavigationService NavigationService_, IDialogService DialogService_, AppSetting AppSetting_, ISpeechAPI SpeechAPI_, IAudioAPI AudioAPI_, IMvxMessenger Messenger_, ILocalization Loc_ ) : base() { if (!IsInDesignMode) { Logger = Logger_; NavigationService = NavigationService_; DialogService = DialogService_; AppSetting = AppSetting_; SpeechAPI = SpeechAPI_; AudioAPI = AudioAPI_; Messenger = Messenger_; Loc = Loc_; //Messenger.Default.Register<PlayerEvent>(this, Controller); _substoken = Messenger.Subscribe<PlayerEvent>(Controller); // Commands CommandDispatcher = new MvxCommand<string>(CmdDispatcher); PressCollectWordsButton_Command = new MvxCommand<ButtonModel>(PressCollectWordsButton_Cmd); TranslateWord_Command = new MvxCommand<PhraseOfCollectMode.Word>(TranslateWord_Cmd); } CollectPhrases_Buttons = new ObservableCollection<ButtonModel>(); if (IsInDesignMode) { string phr = "Cakes have layers!"; var arr = phr.Split(' '); foreach(var elm in arr) { CollectPhrases_Buttons.Add(new ButtonModel {WordOfButton = new PhraseOfCollectMode.Word { word_of_phrase = elm } }); } CollectedPhraseText = "Everybody loves cake!"; //LearningItem = new LearningItem(); //LearningItem.Statistics = new Statistics(); //LearningItem.MainSubs = new Subtitles(); //LearningItem.MainSubs.Items = new SynchronizedObservableCollection<SubtitleItem>(); string subs_ = @" Once upon a time there was a lovely princess. But she had an enchantment upon her of a fearful sort, which could only be broken by love's first kiss. She was locked away in a castle guarded by a terrible fire-breathing dragon. Many brave knights had attempted to free her from this dreadful prison, but none prevailed. She waited in the dragon's keep in the highest room of the tallest tower, for her true love and true love's first kiss. Like that's ever gonna happen. What a load of..."; arr = subs_.Split('\n'); foreach(var elm in arr) { //LearningItem.MainSubs.Items.Add(new SubtitleItem { Text = elm.Trim()}); } //LearningItem.CollectPhrases = true; } }