如何解决如何从 azure 语音 sdk 获取 TTS 并在 HTML 音频标签中播放
我正在使用 microsoft-cognitiveservices-speech-sdk 来响应文本到语音。我希望能够播放使用网页上的音频元素生成的音频。理想情况下,我想获取二进制数据并将其设置为元素的来源并使用 js 播放元素。 有没有办法做到这一点?
解决方法
这是否必须是元素的来源?如果您可以只存储结果数据的 ArrayBuffer,则可以使用 BaseAudioPlayer 重播该 Buffer。例如:
var audioBuffer = null;
[...]
synthesizer.synthesisCompleted = function (s,e) {
audioBuffer = e.result.audioData;
};
[...]
playbackButton.addEventListener("click",function () {
var p = new SpeechSDK.BaseAudioPlayer();
if(!!p && !!audioBuffer) {
console.log(`playing buffer with length ${audioBuffer.byteLength}`);
p.playAudioSample(audioBuffer);
}
});
我已在 iOS 14.6 上对此进行了测试,但仅适用于 Riff WAV。不确定它是否适用于其他格式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。