如何使用离线识别,怎么申请?
离线识别无需申请,所有开发者都可以免费使用。要使用离在线功能(正式授权),请确保
- 开放平台中已经绑定了包名
- 程序的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
切换版块
水寒319:
问题:
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()
回复水寒319:这个接口现在已经过时了,不是吗? 新的SDK用什么接口?
请问可以将在线识别的字符串发送到云端吗
现在下载语音合成的SDK下载到一半直接失败,从昨天开始就是
文件写入权限,自己百度一下安卓6.0动态权限
回复xi...3@163.com:
無碼亂射:
小米Note 4.4.4系统 语音识别demo 提示无法打开麦克风(已打开权限)
三星s7 6.0系统 语音识别 开始识别直接结束 提示无法识别
一共测试了 三部手机 采样率 虽然小 但是 可见 兼容性 有待提高
有谁遇到这个问题么?
开始识别直接结束 提示无法识别
我也遇到这个问题了。我的是红米4X,请问你的解决了么?
無碼亂射:
小米Note 4.4.4系统 语音识别demo 提示无法打开麦克风(已打开权限)
三星s7 6.0系统 语音识别 开始识别直接结束 提示无法识别
一共测试了 三部手机 采样率 虽然小 但是 可见 兼容性 有待提高
回复無碼亂射:开始识别直接结束 提示无法识别
我也遇到这个问题了。我的是红米4X,请问你的解决了么?
水寒319:
问题:
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()
回复水寒319:你好,请问这个 enableContacts()是哪个类里面的函数,我用的是离在线sdk。
能离线识别音频文件吗?
android6.0和6.0以上的会出现这个问题,6.0以下的正常。对permission.WRITE_SETTINGS也没有用,请问一下这个问题怎么解决?
糖果smail:
回复wangye8312166:请问这个是什么问题,你解决了吗?我也出现同样的问题了
回复糖果smail:我知道问题了,是so文件没有识别出来,
1、jniLibs文件夹下除了arm64-v8a和armeabi文件,其他的删除,尤其是经常会多armeabi-v7i这个一定要删除
2、也有可能jniLibs只有以上两个文件夹,但还是出现相同问题:在app的gradle里面
ndk {//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi','armeabi-v8a'
// abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a'
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
}
如果你的gradle里面有以上内容,切记,把没有语音的so文件的文件夹删除
wangye8312166:
复制官方Demo代码时出现的错误,什么原因呢?
回复wangye8312166:请问这个是什么问题,你解决了吗?我也出现同样的问题了
这个如何解决?是新版本的问题? 语音识别 还是缺少什么配置文件?
复制官方Demo代码时出现的错误,什么原因呢?
banglsb007:
System.err(20549): java.lang.UnsupportedOperationException: easr not found!
System.err(20549): at com.baidu.speech.EventManagerVadModule$ModelVad.(EventManagerVadModule.java:31)
请问这是什么问题?
回复banglsb007:您好,我也遇到这个问题了,可以请教一下怎么解决的嘛
我需要语音识别有撰写功能,怎么解决?哪里有2.0版下载?
解决了么?
这个问题我也遇到了
破茧化蝶014:
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)
这个是什么问题
回复破茧化蝶014:
风驰天下hg:
下载了离在线融合SDK Android,写程序的时候一直找不到DialogRecognitionListener这个类
回复风驰天下hg:这个问题解决了吗?我刚开始用百度sdk,也遇到了这个问题
java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.speech.core.BDSSDKLoader.SetLogLevel:(I)V
我加了可是还是显示这个错E/SpeechRecognizer: bind to recognition service failed