有没有任何可能的解决方案来获得我得到blob但无法播放的文本的mp3



有没有任何可能的解决方案来获得文本的mp3我得到blob但无法播放

text =  document.getElementById("text");
voice = document.getElementById("Svoice");
action = document.getElementById("action");
function texttospeech(text){
let speech = new SpeechSynthesisUtterance(text);
items = [];
let record = speechSynthesis.speak(speech);

items.push(record);
var blob = new Blob(items, {type:'audio/mp3'});
aud.src = URL.createObjectURL(blob);
}
action.addEventListener('click', e => {
e.preventDefault();
if (text.value !== ""){
texttospeech(text.value);
}
});

没有node.js或任何其他仅限库的javascript,有人能帮我吗?请

TL;DR:

您无法在浏览器中录制语音合成输出。


Web Speech API的W3C草案报告不包括访问语音合成输出的方法,SpeechSynthesis.speak(speech)返回undefined,而不是用于创建blob的数据。

实现API的语音合成器组件的浏览器软件实际上可能调用O/S来合成语音,而不是产生任何类型的音频流本身。

在YouTube上听到的大多数语音合成输出可能是由用于录制视频的视频录制/屏幕捕获软件捕获的。请进一步研究,以确定什么可能最适合你——我不提供建议,除了包括";Xbox Gamebar应用程序";以及";VLC";如果他们不是自己出现的话。

这个相关的问答涵盖了一些制造商对录音语音合成输出的版权和商业使用的潜在限制方面的有趣信息。

最新更新