コード例 #1
0
ファイル: Extensions.cs プロジェクト: CSWCSS-InnoTech/Schobol
 public static IEnumerable <string> ToGeneralIdentiifiers(this SpeechLanguages Langs)
 {
     foreach (var Item in Langs.ToIdentiifiers())
     {
         yield return(Item.Split('_', '-')[0]);
     }
 }
コード例 #2
0
ファイル: Extensions.cs プロジェクト: CSWCSS-InnoTech/Schobol
        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));
            }
        }
コード例 #3
0
            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);
            }
コード例 #4
0
ファイル: Extensions.cs プロジェクト: CSWCSS-InnoTech/Schobol
        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));
            }
        }
コード例 #5
0
ファイル: Extensions.cs プロジェクト: CSWCSS-InnoTech/Schobol
        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));
            }
        }
コード例 #6
0
ファイル: Extensions.cs プロジェクト: CSWCSS-InnoTech/Schobol
        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));
            }
        }