百度语音 语音合成 跨域demo以及支持库
首先在您创建的应用中查找Api Key 和 SecretKey。访问https://openapi.baidu.com/oauth/2.0/token 换取 token
访问如下网址, 可用浏览器测试
// appKey = Va5yQRHl********LT0vuXV4
// appSecret = 0rDSjzQ20XUj5i********PQSzr5pVw2
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHl********LT0vuXV4&client_secret=0rDSjzQ20XUj5i********PQSzr5pVw2
可以获取如下结果
{
"access_token": "1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328",
"expires_in": 86400,
"refresh_token": "2.385d55f8615fdfd9edb7c4b********.604800.1293440400-2346678-124328",
"scope": "public",
"session_key": "ANXxSNjwQDugf8615Onqeik********CdlLxn",
"session_secret": "248APxvxjCZ0VEC********aK4oZExMB",
}
在结果中可以看见 token = 1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328,在86400秒后过期。
您的项目只需引入baidu_tts_cors.js文件,即可使用全局函数btts。
// 调用语音合成接口
// 参数含义请参考 https://ai.baidu.com/docs#/TTS-API/41ac79a6
btts({
tex: '百度语音合成',
tok: '请参照上一章节说明获取的access_token',
spd: 5,
pit: 5,
vol: 15,
per: 4
}, {
volume: 0.3,
autoDestory: true,
timeout: 10000,
hidden: false,
onInit: function (htmlAudioElement) {
},
onSuccess: function(htmlAudioElement) {
},
onError: function(errorText) {
},
onTimeout: function () {
}
});
}
btts全局函数参数说明
浏览器调用语音合成接口
@param {Object} param 百度语音合成接口参数
请参考 https://ai.baidu.com/docs#/TTS-API/41ac79a6
@param {Object} options 跨域调用api参数
timeout {number} 超时时间 默认不设置为60秒
volume {number} audio控件音量,范围 0-1
hidden {boolean} 是否隐藏audio控件
autoDestory {boolean} 播放音频完毕后是否自动删除控件
onInit {Function} 创建完audio控件后调用
onSuccess {Function} 远程语音合成完成,并且返回音频文件后调用
onError {Function} 远程语音合成完成,并且返回错误字符串后调用
onTimeout {Function} 超时后调用,默认超时时间为60秒
*** 具体调用方法和参考示例 demo.html 文件 ***