Как изменить голосовой синтезатор речи или скорость во время речи в C# - PullRequest
0 голосов
/ 13 января 2020

У меня есть слайдер и список доступных голосов, которые я хочу разрешить пользователю изменять на лету во время синтеза речи с использованием класса SpeechSynthesizer . Я могу сделать все это, прежде чем речь начнет использовать SpeechSynthesizer.Options.SpeakingRate и SpeechSynthesizer.Voice. Однако я хочу, чтобы пользователь мог изменять эти параметры во время речи.

Изменение свойств во время выполнения синтеза речи async не работает. Я пытался создать new SpeechSynthesizer() и изменить голос, но это не меняет оригинальный синтез, поскольку он работает. Я знаю, что это возможно, потому что это делается в Microsoft Edge. Есть идеи?

1 Ответ

1 голос
/ 13 января 2020

Я знаю, что это возможно, потому что это делается в Microsoft Edge.

Прежде всего, я не уверен, как Microsoft Edge выполняет эту функцию. Весьма вероятно, что край не использует этот API.

Я проверил документацию и протестировал официальный образец . Я не нашел вариантов, которые мы могли бы изменить Voice и SpeakingRate во время начала речи. Так что эта функция должна быть невозможна для UWP.

...