public static IEnumerable <string> ToGeneralIdentiifiers(this SpeechLanguages Langs) { foreach (var Item in Langs.ToIdentiifiers()) { yield return(Item.Split('_', '-')[0]); } }
public static IEnumerable <string> ToIdentiifiers(this SpeechLanguages Langs) { if (Langs.HasFlag(SpeechLanguages.Default)) { foreach (var Item in System.Linq.Enumerable.Select(Langs.ToLocale(), L => L. #if __IOS__ LocaleIdentifier #elif __ANDROID__ ToLanguageTag() #else LanguageTag #endif )) { yield return(Item); } } else if (Langs.HasFlag(SpeechLanguages.System)) { foreach (var Item in System.Linq.Enumerable.Select(Langs.ToLocale(), L => L. #if __IOS__ LocaleIdentifier #elif __ANDROID__ ToLanguageTag() #else LanguageTag #endif )) { yield return(Item); } } else if (Langs.HasFlag(SpeechLanguages.English_US)) { yield return("en-US"); } else if (Langs.HasFlag(SpeechLanguages.English_UK)) { yield return("en-UK"); } else if (Langs.HasFlag(SpeechLanguages.Chinese_Simplified)) { yield return("zh-CN"); } #pragma warning disable 618 //Justification: Intended to use (disable 612 for Obsolete without message) else if (Langs.HasFlag(SpeechLanguages.Chinese_Traditional)) { yield return("zh-HK"); } else if (Langs.HasFlag(SpeechLanguages.Cantonese)) { yield return("yue-HK"); } #pragma warning restore 618 else { throw new ArgumentException($"Invalid language. Value: {Langs}", nameof(Langs)); } }
public void Speak(string text, SpeechLanguages lang) { var speechSynthesizer = new AVSpeechSynthesizer(); var speechUtterance = new AVSpeechUtterance(text) { Rate = AVSpeechUtterance.MaximumSpeechRate / 4, //Voice = AVSpeechSynthesisVoice.FromLanguage(lang.ToLocale().LocaleIdentifier), Volume = 0.5f, PitchMultiplier = 1.0f }; speechSynthesizer.SpeakUtterance(speechUtterance); }
public static IEnumerable <Windows.Globalization.Language> ToLocale(this SpeechLanguages Langs) { if (Langs.HasFlag(SpeechLanguages.Default)) { yield return(new Windows.Globalization.Language(Windows.System.UserProfile.GlobalizationPreferences.Languages[0])); } else if (Langs.HasFlag(SpeechLanguages.System)) { yield return(Windows.Media.SpeechRecognition.SpeechRecognizer.SystemSpeechLanguage); } else if (Langs.HasFlag(SpeechLanguages.English_US)) { yield return(new Windows.Globalization.Language("en-US")); } else if (Langs.HasFlag(SpeechLanguages.English_UK)) { yield return(new Windows.Globalization.Language("en-UK")); } else if (Langs.HasFlag(SpeechLanguages.Chinese_Simplified)) { yield return(new Windows.Globalization.Language("zh-CN")); } #pragma warning disable 618 //Justification: Intended to use (disable 612 for Obsolete without message) else if (Langs.HasFlag(SpeechLanguages.Chinese_Traditional)) { yield return(new Windows.Globalization.Language("zh-HK")); } else if (Langs.HasFlag(SpeechLanguages.Cantonese)) { yield return(new Windows.Globalization.Language("yue-HK")); } #pragma warning restore 618 else { throw new ArgumentException($"Invalid language. Value: {Langs}", nameof(Langs)); } }
public static IEnumerable <Java.Util.Locale> ToLocale(this SpeechLanguages Langs) { if (Langs.HasFlag(SpeechLanguages.Default)) { yield return(Java.Util.Locale.Default); } else if (Langs.HasFlag(SpeechLanguages.System)) { yield return(Java.Util.Locale.Root); } else if (Langs.HasFlag(SpeechLanguages.English_US)) { yield return(Java.Util.Locale.Us); } else if (Langs.HasFlag(SpeechLanguages.English_UK)) { yield return(Java.Util.Locale.Uk); } else if (Langs.HasFlag(SpeechLanguages.Chinese_Simplified)) { yield return(Java.Util.Locale.SimplifiedChinese); } #pragma warning disable 618 //Justification: Intended to use (disable 612 for Obsolete without message) else if (Langs.HasFlag(SpeechLanguages.Chinese_Traditional)) { yield return(Java.Util.Locale.TraditionalChinese); } else if (Langs.HasFlag(SpeechLanguages.Cantonese)) { yield return(new Java.Util.Locale("zh", "HK")); } #pragma warning restore 618 else { throw new ArgumentException($"Invalid language. Value: {Langs}", nameof(Langs)); } }
public static IEnumerable <Foundation.NSLocale> ToLocale(this SpeechLanguages Langs) { if (Langs.HasFlag(SpeechLanguages.Default)) { yield return(Foundation.NSLocale.CurrentLocale); } else if (Langs.HasFlag(SpeechLanguages.System)) { yield return(Foundation.NSLocale.SystemLocale); } else if (Langs.HasFlag(SpeechLanguages.English_US)) { yield return(Foundation.NSLocale.FromLocaleIdentifier("en_US")); } else if (Langs.HasFlag(SpeechLanguages.English_UK)) { yield return(Foundation.NSLocale.FromLocaleIdentifier("en_GB")); } else if (Langs.HasFlag(SpeechLanguages.Chinese_Simplified)) { yield return(Foundation.NSLocale.FromLocaleIdentifier("zh_CN")); } #pragma warning disable 618 //Justification: Intended to use (disable 612 for Obsolete without message) else if (Langs.HasFlag(SpeechLanguages.Chinese_Traditional)) { yield return(Foundation.NSLocale.FromLocaleIdentifier("zh_HK")); } else if (Langs.HasFlag(SpeechLanguages.Cantonese)) { yield return(Foundation.NSLocale.FromLocaleIdentifier("yue_HK")); } #pragma warning restore 618 else { throw new ArgumentException($"Invalid language. Value: {Langs}", nameof(Langs)); } }