web前端如何实现文字转换为语音读出来

前端如何实现将页面中的文字转换为语音然后通过程序朗读出来?

阅读 19.5k
2 个回答

调相关的 API 即可:http://apistore.baidu.com/apiworks/servicedetail/867.html

接口返回的 Base64 音频文件代码,你可以简单的拼成:

var audioUrl = "data:audio/mp3;base64," + xhr.respoonse.retData;

或者通过 Blob 将文件转换为二进制:

var data = atob( xhr.response.retData ),
    result = new Unit8Array(data.length),
    audioUrl;
    
for(var i=0,l=data.length; i<l; i++) { result[i] = data.charCodeAt(i) }
audioUrl = window.URL.createObjectURL( new Blob([result.buffer], {type: "audio/mp3"}) );

这样都能拿到一个地址,最后使用 Audio 播放即可:

new Audio( audioUrl ).play();

最后提供一个演示地址:http://word2audio.coding.io

参考资料:

const msg = new SpeechSynthesisUtterance("hello world");
window.speechSynthesis.speak(msg);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏