示例#1
0
        private static string ToLocale(AnnotationLanguage language)
        {
            switch (language)
            {
            case AnnotationLanguage.Russian:
            case AnnotationLanguage.Turkish:
            case AnnotationLanguage.Ukrainian: return(language.ToString());

            default: return(AnnotationLanguage.English.ToString());
            }
        }
示例#2
0
        private double GetTokenDuration(PhraseToken token, AnnotationLanguage language, Sex speakerSex)
        {
            string localeKey = _commonTokens.Contains(token) ? "Common" : $"{ToLocale(language)}/{speakerSex.ToString().ToLower()}";
            string key       = GetFileName(token);

            double duration;

            if (!_durations.TryGetValue(Tuple.Create(localeKey, key), out duration))
            {
                _logger.Warn($"No duration for {token} {language}");
            }
            return(duration);
        }
示例#3
0
        public Uri GetFileUri(PhraseToken token, AnnotationLanguage language, Sex speakerSex)
        {
            string fileName = GetFileName(token);

            if (string.IsNullOrWhiteSpace(fileName))
            {
                _logger.Warn($"No file for {token} {language}");
                return(null);
            }
            return(_commonTokens.Contains(token)
                ? new Uri($"ms-appx:///Resources/Sounds/Guidance/Common/{fileName}.mp3")
                : new Uri($"ms-appx:///Resources/Sounds/Guidance/{ToLocale(language)}/{speakerSex.ToString().ToLower()}/{fileName}.mp3"));
        }