更新记录
4.1(2021-02-05) 下载此版本
-
优化 队列机制稳定性
-
修复 obeyMuteSwitch增加条件编译
4.0(2019-07-13) 下载此版本
1、Object传参模式新增returnAudio属性,用于返回音频对象, 详见4.0.2
2、完善audioCallback参数支持所有audio状态监听回调(除onCanplay外), 详见4.0.2
3.0(2019-06-28) 下载此版本
删除两次encodeURIComponent语句
查看更多平台兼容性
下载示例项目, 拖进项目即可运行
插件简介
非常轻便使用的语音合成接口,一般用于对推送过来的消息进行语音播报
更新说明
版本号 | 更新说明 |
---|---|
v4.0新增 |
1、Object传参模式新增returnAudio属性,用于返回音频对象, 详见4.0.2 2、完善audioCallback参数支持所有audio状态监听回调, 详见4.0.2 |
v3.0修复 |
删除两次encodeURIComponent语句,有需求的自己加上去多测试 |
v2.0重要 |
1、新增语音队列机制, 默认加入语音队列 2、完善参数文档, 详见4. 3、新增测试url, 运行项目即可体验,因为是测试的,并且是前端直接获取token,如果有多人同时使用,则有可能播放失败,换成自己的并且token由后端维护就好 |
1. 注意
1、强烈建议token的获取与维护交由后端
, 在获取token的接口中有返回expires_in, 该参数为token有效期,文档中token有效期为30天,后端可以每一段时间获取一次
2、该api接口QPS限制(每秒查询率)是5,详见百度云文档, 若不够用请看2.
3、默认开启语音队列机制
2.当QPS限制5不够用时
当QPS限制5不够用时, 可以在百度云多创建几个应用
, 后端同时维护多个token,前端访问时可以按顺序返回token, 在下已经申请了4个……
3. 百度语音合成接口使用说明
注:需先在百度云注册账号并创建应用(内有文档地址),获得API Key和Secret Key并填入js的url地址中, 强烈建议由后端访问并维护token
引入js
import Voice from /* QS-baiduyy.js 地址 */
使用
Voice('想要播报的内容');
4.参数说明
4.0.1 String类型
示例代码:
Voice('想要播报的内容');
4.0.2 Object类型
示例代码:
Voice({
voiceSet: {
tex: '想要播报的内容'
},
audioSet: {
volume: 1
},
audioCallback: {
o-n-P-l-a-y: ()=>{ //属性名去掉 - , 不知道为什么全名显示不了
console.log('音频开始播放了')
}
}
lineUp: true // 加入语音队列
returnAudio: false // 返回音频对象
})
属性名 | 是否必填 | 参数类型 | 默认值 | 说明 |
---|---|---|---|---|
voiceSet | 是 | Object | 百度接口参数设置,详见4.0.2.0.1 | |
audioSet | Object | 音频组件参数设置,详见4.0.2.0.2 | ||
audioCallback | Object | 音频组件回调函数设置,详见4.0.2.0.3 | ||
lineUp | Boolean | true | 是否加入语音队列, 详见4.0.2.0.4 | |
returnAudio(v4.0新增) | Boolean | false | 是否返回音频对象, 详见4.0.2.0.5 |
4.0.2.0.1 voiceSet参数详解
属性名 | 是否必填 | 参数类型 | 默认值 | 说明 |
---|---|---|---|---|
tex | 是 | String | 合成的文本,使用UTF-8编码。小于2048个中文字或者英文数字。(文本在百度服务器内转换为GBK后,长度必须小于4096字节) | |
spd | Number | 5 | 语速,取值0-15,默认为5中语速 | |
pit | Number | 5 | 音调,取值0-15,默认为5中语调 | |
vol | Number | 5 | 音量,取值0-15,默认为5中音量 | |
per | Number | 0 | 发音人选择, 0为普通女声,1为普通男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声 |
4.0.2.0.2 audioSet参数详解
属性名 | 是否必填 | 参数类型 | 默认值 | 说明 |
---|---|---|---|---|
volume | Number | 1 | 音量。范围 0~1 | |
startTime | Number | 0 | 开始播放的位置(单位:s),默认 0 | |
loop | Boolean | false | 是否循环播放,默认 false | |
obeyMuteSwitch | Boolean | true | 是否遵循系统静音开关,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,默认值 true (微信小程序、百度小程序、头条小程序) |
4.0.2.0.3 audioCallback参数详解
详见官方-innerAudioContext 对象的方法列表中的on事件(除onCanplay外)
4.0.2.0.4 lineUp参数详解
lineUp-是否加入语音队列
若为true则加入语音队列,当正在播放语音时,有推送过来的消息要进行语音播报,则先等上一个音频播放完后再继续播放下一个
4.0.2.0.5 returnAudio参数详解
若传returnAudio为true, 会返回一个最终返回音频对象的Promise对象, 若采用此方式,则不会加入语音队列,并且音频状态的监听需要自己得到音频对象后加上,默认是监听停止或错误后移除此对象