登陆

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

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

# JavaScript
怪我咯怪我咯1678 天前940 次浏览

全部回复(1)我要回复

  • 小皮

    小皮2017-04-10 15:49:02

    调相关的 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

    参考资料:

    • https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data

    回复
    0
  • 取消回复发送