语音合成
[!TIP|labelVisibility:hidden|iconVisibility:hidden] navigator.speechsynthesis.speechSynthesis(success, error,options)
支持平台:
- Android
- iOS
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| success | Function | 是 | 成功回调函数 |
| error | Function | 是 | 失败回调函数 |
| options | Object | 是 | 数据对象 |
success 返回包括:“缓冲进度“或”播放进度“数据
Buffer为一个对象(缓冲进度),其属性包含以下一项或多项:progress( Int ) -- 缓冲进度,0-100
Speak(播放进度):progress( Int ) -- 当前播放进度,0-100beginPos( Int ) -- 当前播放文本的起始位置(按照字节计算),对于汉字(2字节)需/2处理endPos( Int ) -- 当前播放文本的结束位置(按照字节计算),对于汉字(2字节)需/2处理
error函数会返回一个字符串,返回识别失败码和失败原因,错误码参考:https://shimo.im/sheet/w3yUy39uNKs0J7DT
options参数为一个对象,其属性包含以下一项或多项:
text(String/ 必选) -- 要合成的文本,最大的字节数为1kspeed(String/ 可选) -- 设置语速,取值范围 0~100,默认值:50volume(String/ 可选) -- 设置音量,取值范围 0~100,默认值:50pitch(String/ 可选) -- 设置音调,取值范围 0~100,默认值:50vcnName(String/ 可选) -- 设置发音人,默认为”xiaoyan”,可以设置的参数列表可参考“合成发音人列表(在讯飞后台添加)”

示例代码
// 引用js
<script src='supconit://hcmobile.js'></script>
<script>
// 监听’deviceready‘事件
document.addEventListener('deviceready', onDeviceReady, false)
function onDeviceReady(){
navigator.speechsynthesis.speechSynthesis(
function (successCallback) {
alert(JSON.stringify(successCallback));
},function (errorCallback) {
alert(errorCallback);
},{'text':"欢迎使用易动平台开发"});
}
</script>
响应示例代码:
/*缓冲进度*/
{
"Buffer": {
"progress": 100
}
}
/*播放进度*/
{
"Speak": {
"beginPos": 0,
"endPos": 24,
"progress": 6
}
}