播放使用缓冲区创建的音频Blob时出错

时间:2019-05-01 00:57:22

标签: javascript audio watson-text-to-speech

我正在使用IBM Watson Text to Speech API将文本合成为音频。我能够从该api获取数组缓冲区,现在我正尝试使用和音频blob播放所述缓冲区。

我已经阅读了很多与类似主题相关的堆栈文章,但仍然无法弄清问题所在。我尝试使用普通的javascript(html5音频标签)。我是Audio Web Api的新手,我已经阅读过mozilla的api参考,但仍然对此不太满意。

const blob = new Blob(tts.data.response.result.data, {type: 'audio/ogg'});
const url = window.URL.createObjectURL(blob);
window.audio = new Audio();
window.audio.src = url;
window.audio.play()

tts.data.response.result.data是来自IBM TTS api的响应。

这看起来像:

Array(56099)
[0 … 9999]
[10000 … 19999]
[20000 … 29999]
[30000 … 39999]
[40000 … 49999]
[50000 … 56098]

斑点看起来很好,这就是它的样子:

size: 121231
type: "audio/ogg"

对于可能失败的问题,我没有太多的反馈,只有“未捕获(承诺)的DOMException”。我知道audio.play()行是失败的。

谢谢。

0 个答案:

没有答案