bdTTS

论坛示例

为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

本原生插件封装了百度语音合成的在线/离线识别移动端开放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

初始化引擎,设置参数。语音合成需要先调用此接口。

init()

params

mode:

  • 类型:字符串
  • 描述:(可选项)检测离在线模式还是在线模式
  • 可选值:'ONLINE'/'MIX'/'OFFLINE' 在线模式/离在线模式/纯离线模式(首次初始化需要联网)
  • 默认值:'MIX'

voiceModule:

  • 类型:数字类型
  • 描述:(可选项)设置播放声音,在线合成支持:普通女声 普通男声 情感男声 情感儿童声 特别男声,离线合成支持:普通女声 普通男声 情感男声 情感儿童声
  • Android取值范围:0/普通女声 1/普通男声 2/情感男声 3/情感儿童声 4/特别男声
  • iOS取值范围:0/女声 (f7) 1/男声 (macs) 2/男声 (m15) 3/男声 (yyjw) 4/渡鸦鸦
  • 默认值:0

volume:

  • 类型:数字类型
  • 描述:(可选项)设置声音大小
  • 取值范围:0-9
  • 默认值:5

speed:

  • 类型:数字类型
  • 描述:(可选项)设置声音语速
  • 取值范围:0-9
  • 默认值:5

pitch:

  • 类型:数字类型
  • 描述:(可选项)设置声音语调
  • 取值范围:0-9
  • 默认值:5

encoding:

  • 类型:数字类型
  • 描述:(可选项)语音合成音频编码格式,此参数仅仅支持iOS
  • 默认值:20
  • 取值范围:
  • 0/bv 16k比特率
  • 1/amr 6.6k比特率
  • 2/amr 8.85k比特率
  • 3/amr 12.65k比特率
  • 4/amr 14.25k比特率
  • 5/amr 15.85k比特率
  • 6/amr 18.25k比特率
  • 7/amr 19.85k比特率
  • 8/amr 23.05k比特率
  • 9/amr 23.85k比特率
  • 10/opus 8k比特率
  • 11/opus 16k比特率
  • 12/opus 18k比特率
  • 13/opus 20k比特率
  • 14/opus 24k比特率
  • 15/opus 32k比特率
  • 16/mp3 8k比特率
  • 17/mp3 11k比特率
  • 18/mp3 16k比特率
  • 19/mp3 24k比特率
  • 20/mp3 32k比特率

sn:

  • 类型:字符串类型
  • 描述:(可选项)离线合成需要的sn(1.0.2以及以后版本支持),离线合成必选项

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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

授权检验接口,离线模式可自动下载更新正式授权文件。

authCheck({params}, callback(ret))

params

mode:

  • 类型:字符串
  • 描述:检测离在线模式还是在线模式
  • 取值范围:‘ONLINE’/'MIX' 在线模式/离在线模式
  • 默认值:‘MIX’

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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

语音合成并播放

speak()

params

text:

  • 类型:字符串类型
  • 描述:需要合成语音的文字内容

utteranceId

  • 类型:字符串类型
  • 描述:(可选)(仅Android支持)回调回返回
  • 默认值:‘0’

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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

语音合成不播放

synthesize()

params

text:

  • 类型:字符串类型
  • 描述:需要合成语音的文字内容

utteranceId

  • 类型:字符串类型
  • 描述:(可选)(仅Android支持)回调回返回
  • 默认值:‘0’

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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及更高版本

batchSpeak

批量合成并播放(iOS不支持此接口)

batchSpeak()

params

texts:

  • 类型:JSON数组
  • 描述:需要合成语音的文字内容
  • 内部字段:[ { message:'', //字符串类型;内容 position:0 //数字类型;内容的播放顺序 从0开始 } , ]

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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

继续播放

speakResume()

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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

暂停播放

speakPause()

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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

停止合成并停止播放

stop()

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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及更高版本

release

释放引擎,调用此接口会如需语音合成需要先调用init接口

release()(iOS不支持此接口)

callback

(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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

添加监听

addListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     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及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24