Настройка голоса в «en-GB» с использованием WebSpeech API и webSpeechPonyfillFactory - PullRequest
1 голос
/ 11 ноября 2019

Я пытаюсь установить SpeechSynthesisVoice на en-GB и пол на женский в webSpeechPonyfillFactory, как указано в примере https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/06.f.hybrid-speech

Я не очень хорош в понифила, и япопытался передать значение на фабрику, но это не удалось.

  async createPonyfillFactory() {
    const webSpeechPonyfillFactory = await window.WebChat.createBrowserWebSpeechPonyfillFactory();
    return options => {
      const webSpeechPonyfill = webSpeechPonyfillFactory(options);

      return {
        SpeechGrammarList: webSpeechPonyfill.SpeechGrammarList,
        SpeechRecognition: webSpeechPonyfill.SpeechRecognition,
        speechSynthesis: webSpeechPonyfill.speechSynthesis,
        SpeechSynthesisUtterance: webSpeechPonyfill.SpeechSynthesisUtterance
      };
    };
  }

1 Ответ

0 голосов
/ 12 ноября 2019

Язык и голос указываются с помощью свойств selectVoice, отправляемых в WebChat. Для справки, это продемонстрировано на примере 06.h.select-voice .

window.WebChat.renderWebChat({
  directLine: window.WebChat.createDirectLine({
    token,
    webSocket: true
  }),
  selectVoice: (voices, activity) =>
    activity.locale === 'zh-HK' ?
      voices.find(({ name }) => /TracyRUS/iu.test(name))
      :
      voices.find(({ name }) => /JessaNeural/iu.test(name))
      || voices.find(({ name }) => /Jessa/iu.test(name)),
  webSpeechPonyfillFactory
}, document.getElementById('webchat'));

Надежда на помощь!

...