百度Android语音识别SDK分在线与离线两种这篇文章介绍在线SDK的使用方法。
在线SDK是以JAR包和动态链接库形式发布和使用可以从百度开放云平台网站中下载SDK及使用说明文档。
点击管悝控制台选择移动应用管理
选择创建应用,填写应用名称
可以看到右上角有ID、API KEY、Secret KEY点击可以复制其内容,保存这些字符串在使用语音SDK時会用到。
2、申请开启语音识别服务 选择媒体云---语音识别,点击申请开启服务填写理由。
3、使用语音识别SDK前的准备
首先将开发包中的libΦ的库添加到工程中
SDK有两种实现语音识别的方式一种是直接使用SDK中的语音识别控件,一种是使用SDK中的语音识别服务
语音识别控件BaiduASRDigitalDialog,提供了整套语音交互、提示音、音量反馈、动效反馈开发者初始化一个BaiduASRDigitalDialog对象,并设置相关参数及结果回调调用Show()方法就可以弹出对话框开始识别,识别结束后会在回调中得到识别结果
是否语义解析。Prop为输入时暂不支持语义请显示指定为其它领域。 |
提示音需要集成SDK包Raw文件夹的资源 |
样式。定义在前缀为THEME_的常量中 |
对话框弹出时首先显示引导语列表 |
识别启动3秒未检测到语音随机出现一条引导语 |
静音超时后将“取消”按钮替换为“帮助” |
其中mListener是识别过程的回调需要对其中的方法进行实现
每次识别需要通过通过VoiceRecognitionConfig設置参数,其中一些方法在API中有说明
检测到用户说话结束播报的提示音非识别结束 |
通常建议开发者不指定采样频率,由BDVRClient自动根据当前网絡环境选择采样频率WiFi环境下将使用16kHz采样,移动网络下将使用8kHz采样来节省流量。参考常量定义 |
开发者可以通过指定垂直分类来获取更精准的语音识别结果 注:垂直分类目前支持地图,音乐视频,APP网址,开发者需要注意设定采样频率时只能在这五种垂直分类中选择若指定其他分类,可能会影响识别结果的精度参考PROP_前缀的常量定义。 |
设置是否使用缺省的录音 如果不使用,用户需要调用VoiceRecognitionClient对象的feedAudioBuffer方法為识别器提供语音数据 |
启用语义解析只在搜索模式起作用 |
开始语音识别,BDVRClient在开始识别后会启动录音、预处理、上传到服务器并获取识別结果。