如何停止 Microsoft Cognitive TTS 音频播放?

How to stop Microsoft Cognitive TTS audio playing?

我正在使用来自 https://github.com/Azure-Samples/cognitive-services-speech-sdk 的 JavaScript 版本的 Microsoft Cognitive Services Speech SDK。

当调用 synthesizer.speakTextAsync 时,浏览器会播放音频。当音频太长时,我想停止音频播放,但我找不到任何关于如何做到这一点的文档?

感谢任何帮助!

    synthesizer = new SpeechSDK.SpeechSynthesizer(speechConfig, 
        SpeechSDK.AudioConfig.fromDefaultSpeakerOutput());
    
    synthesizer.speakTextAsync(
      inputText,
      result => {
        if (result) {
          console.log(JSON.stringify(rssesult));
         }
      },
      error => {
        console.log(error);
      }
    );

支持停止音频播放。

您需要创建一个 SpeechSDK.SpeakerAudioDestination() 对象并使用它来创建像这样的 audioConfig。

var player = new SpeechSDK.SpeakerAudioDestination();
var audioConfig  = SpeechSDK.AudioConfig.fromSpeakerOutput(player);
var synthesizer = new SpeechSDK.SpeechSynthesizer(speechConfig, audioConfig);
synthesizer.speakTextAsync(
...
);

然后你可以调用player.pause()player.resume()来暂停和继续播放。

您可以从 doc and sample 找到更多信息。