语音
播放TTS
方法名称:playText
调用示例:
let listener = new TextListener(); listener.setFinish(() => { //TODO: 播放完成 listener.removeListener(); }); speechApi.playText(listener.getId(), text);
参数说明:
- callbackId:回调id
- text:需要播放的文本内容 注意:不支持播放 json 格式内容,请尽量避免在TTS文本中使用我们无法支持的长字符串,例如超链接、混乱的字符序列等。这可能会导致程序调用失败。单次tts播放建议在300字内,最高不超过1000,如果文本内容太多可以分段tts播放。
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
流式 TTS 播放(ROM 需要是 10.3 及以上版本)
方法名称:playStreamText
调用示例:
let textListener = new TextListener(); textListener.addListener(TextListener.EVENT_STREAM_COMPLETE, (params: any): void => { //某句话播放完成 console.log(this.TAG, ' onPlayTTS EVENT_STREAM_COMPLETE= ' + JSON.stringify(params)); }); speechApi.playStreamText(listener.getId(), text, textSid, streamSid);
参数说明:
- callbackId:回调id
- text:需要播放的文本内容 注意:不支持播放 json 格式内容,请尽量避免在TTS文本中使用我们无法支持的长字符串,例如超链接、混乱的字符序列等。这可能会导致程序调用失败。单次tts播放建议在300字内,最高不超过1000,如果文本内容太多可以分段tts播放。
- textSid: 文案 ID,不同文案必须是不同的 ID,格式为:UUID,可以为空,空则自动分配 ID
- streamSid:文段 ID,同一段文案必须是同一个ID,格式为:UUID,可以为空,空则认为每次是一个独立的文段,每次调用playText相互打断
使用说明:如果有一段文案,这段文案有 10 句话,这10 句话是分别收到的,可以在文段开始时候,生成唯一的streamSid,每句话使用不同的textSid,调用 10 次playText接口;由于这 10 句话的streamSid相同,则每次调用播放相互不打断,可以在正在播放上一句的时候调用playText接口;那么每句话播放完毕,则会在Listener回调中收到完成事件,回调的返回参数params包含两个字段:params.textSid 播放完成的的文本 ID、params.streamSid播放完成的文段 ID,可以对应找到是哪句话完成,进行高亮显示。注意:不同文段需要使用不同的streamSid,可以相互打断;streamSid为空的两次playText接口调用,也认为是两段不同文案,也会相互打断。
注意:orionos-eve-core需要升级到2.85.0 及以上
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
停止TTS播放
方法名称:stopTTS
调用示例:
speechApi.stopTTS();
参数说明:无
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
设置是否启用语音识别
注意:需要在机器人设置里面开启 “语音识别” 与 “持续拾音”开关接口才会生效
备注:该开关作用是关闭或者开启语音识别,如果关闭,则语音功能完全关闭,语音唤醒等都不再生效;如果需要单次拾音,只需要设置拾音模式(setRecognizeMode)为false,即可用户不唤醒的时候,不拾音。
方法名称:setRecognizable
调用示例:
speechApi.setRecognizable(enbale);
参数说明:
- enable:是否开启语音识别,true 开启 false 关闭
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
设置是否启用长拾音
方法名称:setRecognizeMode
调用示例:
speechApi.setRecognizeMode(isContinue);
参数说明:
- isContinue:是否开启长拾音。true为持续识别,不需要唤醒;false为单次识别,每次需要先唤醒(对机器说:小豹小豹),才能开始语音识别。默认值为false。
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
识别指定文本内容
方法名称:queryByText
调用示例:
speechApi.queryByText(text);
参数说明:
- text:需要识别的文本内容,文本内容经过识别后,会回调到Voice(Voice内容可参考文档应用基础知识部分),跟正常语音识别一样。
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
设置语音识别区域
方法名称:setAngleCenterRange
调用示例:
speechApi.setAngleCenterRange(centerAngle, rangeAngle);
参数说明:
- centerAngle:语音识别中心角度,范围 [0, 360)
- rangleAngle:区间角度,范围 [0, 120]
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
重置语音识别中心角度
方法名称:resetAngleCenterRange
调用示例:
speechApi.resetAngleCenterRange();
参数说明:无
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
播放本地音频文件
方法名称:playToneByLocalPath
调用示例:
let listener = new ToneListener(); listener.setFinish((status:any) => { //onStart,onStop,onError,onComplete //TODO: 播放完成 if(status != 'onStart'){ listener.removeListener(); } }); speechApi.playToneByLocalPath(listener.getId(), path);
参数说明:
- callbackId:回调id
- path:本地音频文件路径
最低版本:1.8.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
停止本地音频播放
方法名称:stopTone
调用示例:
speechApi.stopTone();
参数说明:无
最低版本:1.8.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
语音相关API的使用示例:点击下载
OPK语音上屏
效果(debug模式不会生效):

调用示例(***ViewModel.ts,其他文件引入可能不生效):
public onStart() { //this.showRecognition(); //asr文字上屏方法 global.recognition && global.recognition.setShow(true); //如果需要展示,没有人说话时候的提示语,运行下面方法 global.recognition && global.recognition.setGuideArray([“提示1”,”提示2“]); global.recognition && global.recognition.setGuideShow(true); //注意系统 9.5 版本后,需要注意在项目***Voice文件的onListenCallback方法里,如果监听了唤醒意图:req_speech_wakeup, 需要返回 false,否则语音内容不上屏幕 }
最低版本:1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 否 | 否 | 否 |