// Refresh voices private void RefreshVoices() { // Reset voice data _voiceIndex = -1; _voices = null; // Get settings TTSService tts = TTSService.Instance; TTSVoiceSettings[] settings = tts?.GetAllPresetVoiceSettings(); if (settings == null) { Debug.LogError("No Preset Voice Settings Found!"); return; } // Apply all settings _voices = new string[settings.Length]; for (int i = 0; i < settings.Length; i++) { _voices[i] = settings[i].settingsID; if (string.Equals(_speaker.presetVoiceID, _voices[i], StringComparison.CurrentCultureIgnoreCase)) { _voiceIndex = i; } } }
// Get voice ids private List <string> GetVoiceIDs(TTSService service) { List <string> results = new List <string>(); if (service != null) { foreach (var voiceSetting in service.GetAllPresetVoiceSettings()) { if (voiceSetting != null && !string.IsNullOrEmpty(voiceSetting.settingsID) && !results.Contains(voiceSetting.settingsID)) { results.Add(voiceSetting.settingsID); } } } return(results); }