js 实现文字转语音播放并且自动下载音频文件
今天我们来分享一个好的文字转语音接口,百度语音接口
接口地址:http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字
参数介绍:
lan=zh:语言是中文,如果改为lan=en,则语言是英文。
ie=UTF-8:文字格式。
spd=2:语速,可以是1-9的数字,数字越大,语速越快。
text=**:这个就是你要转换的文字。
下面是示例,调用filesaver直接下载,非常方便,可直接在线
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BFW NEW PAGE</title> <script id="bfwone" data="dep=jquery.17&err=0" type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/bfwone.js"></script> <script type="text/javascript"> function sayit() { var val = document.getElementById("val").value; var zhText = val; zhText = encodeURI(zhText); document.getElementById("audio").src = "//tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text="+ zhText; } var downloadAudio = function() { var val = document.getElementById("val").value; var zhText = val; zhText = encodeURI(zhText); loadAduioToBlob("//tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text="+ zhText, function(blobFile) { if (!blobFile) return false; document.getElementById("audio").src = window.URL.createObjectURL(blobFile); //生成二进制流 use(['FileSaver.min'], function() { saveAs(blobFile, val+".mp3"); }); }); }; var loadAduioToBlob = function(url, callback) { if (!url || !callback) return false; var xhr = new XMLHttpRequest(); xhr.open('get', url, true); xhr.responseType = 'blob'; xhr.onload = function() { // 注意这里的this.response 是一个blob对象 就是文件对象 callback(this.status == 200 ? this.response: false); } xhr.send(); return true; }; bready(function() { $("#sayit").click(function() { sayit(); }) $("#downit").click(function() { downloadAudio(); }) }) </script> </head> <body> <form action="" method="post"> <textarea id='val' style="width:100%;height:200px;"></textarea> <input type="button" value="文字转语音 " id="sayit"> <input type="button" value="文字转语音下载" id="downit"> </form> <audio src="" id="audio" preload="auto" autoplay="true"></audio> <div id="result"></div> </body> </html>
网友评论0