private void Voice_VoiceChange(int StreamNumber, object StreamPosition, SpObjectToken VoiceObjectToken) { int index = VoiceCombo.FindStringExact(VoiceObjectToken.GetDescription(0)); if (index != -1) { VoiceCombo.SelectedIndex = index; } AddEventMessage("VoiceChange: Voice = " + VoiceObjectToken.GetDescription(0)); }
private void Initialize() { try { voice = new SpVoiceClass(); voice.EndStream += Voice_EndStream; ISpeechObjectTokens objTokens = voice.GetVoices("", ""); const string useVoice = "ScanSoft Mei-Ling_Full_22kHz"; int useIndex = -1; for (int i = 0; i < objTokens.Count; i++) { SpObjectToken sot = objTokens.Item(i); if (sot.GetDescription(0) == useVoice) { useIndex = i; break; } } if (useIndex == -1) { useIndex = 0; } voice.Voice = objTokens.Item(useIndex); } catch (Exception e) { MessageBox.Show("Error:" + e.Message); } }