现在国内语音就讯飞和百度,百度免费的,果断采用。
一、首先去官网注册,申请KEY(http://ai.baidu.com/tech/speech/asr)。
二、下载SDK(DEMO里有SDK和jniLibs),开始集成
库文件路径:
jar :core/libs 目录下
so:core/src/main/jniLibs 目录
AndroidManifest.xml 文件
设置权限
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
设置APP_ID, APP_KEY, APP_SECRET
<meta-data android:name="com.baidu.speech.APP_ID"
android:value="9788136" />
<meta-data
android:name="com.baidu.speech.API_KEY"
android:value="0GjQNO5H4pGPf9HyA3AmZEbz" />
<meta-data
android:name="com.baidu.speech.SECRET_KEY"
android:value="db981ef3ec647ba8a09b599ad7447a24" />
设置识别Service
<service android:name="com.baidu.speech.VoiceRecognitionService" android:exported="false" />
android 6.0 以上版本权限申请
以下代码可以在demo中查找
/**
* android 6.0 以上需要动态申请权限
*/
private void initPermission() {
String permissions[] = {Manifest.permission.RECORD_AUDIO,
Manifest.permission.ACCESS_NETWORK_STATE,
Manifest.permission.INTERNET,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
ArrayList<String> toApplyList = new ArrayList<String>();
for (String perm :permissions){
if (PackageManager.PERMISSION_GRANTED != ContextCompat.checkSelfPermission(this, perm)) {
toApplyList.add(perm);
//进入到这里代表没有权限.
}
}
String tmpList[] = new String[toApplyList.size()];
if (!toApplyList.isEmpty()){
Activit