예제 #1
0
        async Task Speak(Figure figure)
        {
            if (!Settings.Default.Speak)
            {
                return;
            }

            var shape = figure as ShapeFigure;

            if (shape != null)
            {
                var textToRead = _languageService.GetLanguageTextForShape(shape.Type);
                if (textToRead == null)
                {
                    textToRead = shape.ToString();
                }
                await _speakService.SpeakTextAsync(textToRead);
            }
            else
            {
                var textToRead = figure.ToString();
                if (_speakService.SupportsSSML)
                {
                    await _speakService.SpeakSSMLAsync(_languageService.GetLanguageTextForLetter(textToRead));
                }
                else
                {
                    await _speakService.SpeakTextAsync(textToRead);
                }
            }
        }