如何使用离线识别,怎么申请?
离线识别无需申请,所有开发者都可以免费使用。要使用离在线功能(正式授权),请确保
- 开放平台中已经绑定了包名
- 程序的AndroidManifest.xml(如果是ios请参考文档查看设置方式)配置APP_ID
- 不要设置临时授权路径
注意事项:
- 离在线是纯在线的一个补充,至少联网一次才能真正使用离线
- 离线的参数配置比较复杂,务必参考文档和demo一步一步对比
临时离线授权文件在哪里下载?
临时授权的下载地址:http://yuyin.baidu.com/applicense/downloadLicense
对于最新版本的Android语音识别SDK,可以直接使用正式授权。参考“如何使用离线识别,怎么申请?”
Android Studio如何集成语音SDK?
截止目前(2016.8)语音SDK上不支持通过gradle命令来直接引入,后续将会支持。对于Android Studio请通过拷贝jar和so 加配置命令的方式来引入语音SDK
Android版本无法获取录音机权限
- 如果targetSdkVersion设置为>=23的值,需要程序中动态获取录音权限如。
requestPermissions(new String[]{
Manifest.permission.RECORD_AUDIO
}, YOUR_REQUEST_CODE); // requestPermissions是Activity的方法
- 如果targetSdkVersion<23,仍有无法录音问题,则可能是AndroidManifest.xml中未声明"android.permission.RECORD_AUDIO"导致或因为安全软件非正常方式限制录音导致。
Android SDK 2.1版本如何使用离线
2.1版本支持离线命令词识别,但不支持离线撰写(如果确实有撰写需求,暂请使用2.0版本)
2.1版本集成离线(命令词)识别的步骤:
- 使用语法编辑器编辑语法,http://yuyin.baidu.com/asr#m5,编辑并保存得到baiduspeechgrammar.bsg语法文件(文件名可以随意更改)
- 将baiduspeechgrammar.bsg文件放置到assets目录
- 识别参数中增加代码 intent.putExtra("grammar", "assets:///baiduspeechgrammar.bsg")
- 集成完毕。
需要注意的是离线识别需要联网获取授权,参见“如何使用离线识别,怎么申请?”
收藏
点赞
0
个赞
TOP
切换版块
System.err(20549): java.lang.UnsupportedOperationException: easr not found!
System.err(20549): at com.baidu.speech.EventManagerVadModule$ModelVad.(EventManagerVadModule.java:31)
请问这是什么问题?
02-03 10:58:28.455 7999-9513/com.sunlike E/AndroidRuntime: FATAL EXCEPTION: Thread-8629
Process: com.sunlike, PID: 7999
java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.speechsynthesizer.utility.SpeechDecoder.decode(byte[], int, short[], int[], int, int) (tried Java_com_baidu_speechsynthesizer_utility_SpeechDecoder_decode and Java_com_baidu_speechsynthesizer_utility_SpeechDecoder_decode___3BI_3S_3III)
at com.baidu.speechsynthesizer.utility.SpeechDecoder.decode(Native Method)
at com.baidu.speechsynthesizer.b.a$a.run(SpeechDataOrganizer.java:294)
这个是什么问题
小米Note 4.4.4系统 语音识别demo 提示无法打开麦克风(已打开权限)
三星s7 6.0系统 语音识别 开始识别直接结束 提示无法识别
一共测试了 三部手机 采样率 虽然小 但是 可见 兼容性 有待提高
使用离在线包的时候,报错:-EVENT_ERROR, #5, Other client side errors. request token failed, error: unknown, desc: unknown client id, used AK=this/this(cannot switch to offline: params not supported.)
我只想使用在线功能,不知道哪里出了问题,求教。先谢了。
下载了离在线融合SDK Android,写程序的时候一直找不到DialogRecognitionListener这个类
百度ASR 只要设置了离线路径就OOM,不设置在线是完全可以行
支持语义识别的是用
VoiceRecognitionClient还是用
SpeechRecognizer为什么不统一接口
可以先录音,后识别吗?
是不是录音权限被安全软件禁用了
MediaPlayer-JNI: QCMediaPlayer mediaplayer NOT present
MediaPlayer: Should have subtitle controller already set
在小米4 手机上调用的时候 一直处在 麦克风启动中 不知道怎么回事
离线识别错误
Caused by: java.lang.Exception: #2, Other network related errors.. network unavailable.(cannot switch to offline: params not supported.)
123
同一个app为什么有些手机报java.util.concurrent.ExecutionException: java.lang.Exception: #5, Other client side errors., reason: #7052, startRecognizing error.这个错误 ,有些使用正常。离在线包已下载且路径正确。
问题:
android语音识别为什么会出现引擎忙这个问题?
答案:
出现引擎忙的原因一般是:上一次识别位结束就开始了要求下一次识别,
解决方法:识别结束前不要开始下次识别。
问题:
Android语音识别,怎么上传联系人?
答案:
可以通过uploadContacts()方法,上传联系人,Demo如下:
private void uploadContacts(){DataUploader dataUploader = new DataUploader(ApiDemoActivity.this);
dataUploader.setApiKey(Constants.API_KEY, Constants.SECRET_KEY);
String jsonString = "[{\"name\":\"兆维\", \"frequency\":1}, {\"name\":\"林新汝\", \"frequency\":2}]";
try{
dataUploader.uploadContactsData(jsonString.getBytes("utf-8"));
}catch (Exception e){
e.printStackTrace();
}
}
上传联系人之后可以可以通过enablecontacts(),启动通讯录识别。
public void enableContacts()
问题:
apk根据需求需要做成系统内置的,放到system/app下是否能使用离线功能?
答案:
如果将app放到system/app目录下,程序将没有system/app目录的读取权限,不能访问到so库,从而会导致不能进行使用离线功能。
问题:
百度语音能够持续识别吗?
答案:
百度语音一次最长识别60S的语音.
问题:
我按照开发指南申请了离线授权,但是还是提示我授权失败,什么原因?
回答:
使用的是临时授权
1.请检查是否设置intent.putExtra("license-file-path", "/sdcard/temp_license_2015-05- 19"),授权文件是否访问正常。
2.临时授权文件的有效期是30天,如果超过期限授权将失败,建议申请正式授权。
使用的是正式授权
1.如果之前使用的是临时授权,请删除临时授权的相关代码,否则将优先使用临时授权。
2.请检查appkey,包名信息等是否都填写正确。
3.首次使用的时候,会自动下载授权文件,请保证在首次使用时网络连接正常,否则无法下载 离线授权文件。
问题:
53006错误码,一般的出错原因和解决方案?
答案:
53006的错误是语音过长,建议一次识别的语音长度控制在60s以内。