语音合成
[!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
}
}