为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
本原生插件封装了百度语音合成的在线/离线识别移动端开放SDK。
使用此原生插件之前需先配置 config.xml 文件,方法如下
<feature name="bdTTS">
<param name="appId_iOS" value="10665882"/>
<param name="apiKey_iOS" value="M0EXftb4K00yqN4SjYrQF3Th"/>
<param name="secretKey_iOS" value="1b010d38a92073fd7c44da733aaa5f58"/>
<param name="appId_android" value="10665882"/>
<param name="apiKey_android" value="M0EXftb4K00yqN4SjYrQF3Th"/>
<param name="secretKey_android" value="1b010d38a92073fd7c44da733aaa5f58"/>
</feature>
字段描述: http://ai.baidu.com appId:是百度语音开放平台获取的IOS平台的 appid。appid 在百度开发者后台获取百度开发者后台。
apiKey:是百度语音开放平台获取的IOS平台的 apiKey。 key在百度开发者后台获取百度开发者后台。 secretKey:是百度语音开放平台获取的IOS平台的 secretKey。 secret在百度开发者后台获取百度开发者后台。
appId:是百度语音开放平台获取的Android平台的 appid。appid 在百度开发者后台获取百度开发者后台。
apiKey:是百度语音开放平台获取的Android平台的 apiKey。 key在百度开发者后台获取百度开发者后台。
secretKey:是百度语音开放平台获取的Android平台的 secretKey。 secret在百度开发者后台获取百度开发者后台。
初始化引擎,设置参数。语音合成需要先调用此接口。
init()
mode:
voiceModule:
volume:
speed:
pitch:
encoding:
sn:
(ret,err)
ret:
{
status:true, //布尔类型:true 初始化成功,false初始化失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.init({
mode:'MIX'
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
授权检验接口,离线模式可自动下载更新正式授权文件。
authCheck({params}, callback(ret))
mode:
(ret,err)
ret:
{
status:true, //布尔类型:true 授权成功,false授权失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.authCheck({
mode:'MIX'
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
语音合成并播放
speak()
text:
utteranceId
(ret,err)
ret:
{
status:true, //布尔类型:true 合成成功,false合成失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.speak({
text:'回家吃饭啦'
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
语音合成不播放
synthesize()
text:
utteranceId
(ret,err)
ret:
{
status:true, //布尔类型; true 合成成功,false合成失败
path:'', //字符串类型;合成后的文件路径
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.synthesize({
text:'回家吃饭啦'
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
批量合成并播放(iOS不支持此接口)
batchSpeak()
texts:
(ret,err)
ret:
{
status:true, //布尔类型; true 合成成功,false合成失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.batchSpeak({
texts:[
{message:'我第一',position:0},
{message:'我第二',position:1}
]
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
继续播放
speakResume()
(ret,err)
ret:
{
status:true, //布尔类型; true 成功,false失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.speakResume(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
暂停播放
speakPause()
(ret,err)
ret:
{
status:true, //布尔类型; true 成功,false失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.speakPause(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
停止合成并停止播放
stop()
(ret,err)
ret:
{
status:true, //布尔类型; true 成功,false失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.stop(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
释放引擎,调用此接口会如需语音合成需要先调用init接口
release()(iOS不支持此接口)
(ret,err)
ret:
{
status:true, //布尔类型; true 成功,false失败
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: //数字类型;错误码
msg:'' //字符串类型:错误描述信息;
}
var bdTTS = api.require('bdTTS');
bdTTS.release(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
添加监听
addListener(callback(ret))
ret:
{
eventType: 'speechStart', //字符串类型;监听的事件类型,取值范围如下:
//speechStart:朗读开始
//speechEnd:朗读完成
//startWorking:开成合成
//speakLengthChanged:播放进度变更
//pause:暂停播放(仅ios支持)
//resumed:恢复播放(仅ios支持)
//canceled:停止合成并停止播放(仅ios支持)
newLength:6, //数字类型;语音数据长度,eventType为speakLengthChanged时返回
speakSentence:6, //(仅IOS支持)数字类型;句子序号,eventType为pause、resumed、canceled时不会返回
utteranceId:'' //(仅Android支持) 字符串类型;调用speak或者synthesize合成方法时输入的,默认是"0"。
}
var bdTTS = api.require('bdTTS');
bdTTS.addListener(function(ret) {
api.alert({msg:ret});
});
iOS系统,Android系统
可提供的1.0.1及更高版本