Android百度(1)---百度语音集成指南

  1. DEMO 中已经集成了 SDK。您可以参考DEMO,集成SDK。
  2. 集成前,请先测通DEMO,了解调用原理。
  3. 如果您自己代码过于复杂,可以使用一个helloworld项目了解集成过程。

本文以Android Studio 2.3.3作为示例

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()){
        ActivityCompat.requestPermissions(this, toApplyList.toArray(tmpList), 123);
    }
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    // 此处为android 6.0以上动态授权的回调,用户自行实现。

bdasr_V3_xxxxxxxx_xxxx.jar 库

将app/libs/bdasr_V3_20170801_60da871.jar 复制到您的项目的同名目录中。

复制NDK 架构目录

1、将 app/src/main/jniLibs 下armeabi等5个目录,复制到您的项目的同名目录中。

2、如与第三方库集成,至少要保留armeabi目录。如第三方库有7个架构目录,比语音识别SDK多出2个目录 mips和mips64,请将mips和mips64目录删除,剩下5个同名目录合并。
3、如第三方库仅有armeabi这一个目录,请将语音识别SDK的额外4个目录如armeabi-v7a删除,合并armeabi目录下的so。 即目录取交集,so文件不可随意更改所属目录。
4、打包成apk文件,按照zip格式解压出libs目录可以验证。

build.gradle 文件及包名确认

1、根目录下build.gradle确认下gradle的版本。
2、app/build.gradle 确认下 applicationId 包名是否与官网申请应用时相一致(离线功能需要)。 demo的包名是”com.baidu.speech.recognizerdemo”。
3、确认 compileSdkVersion buildToolsVersion 及 targetSdkVersion

proguard文件

-keep class com.baidu.speech.**{*;}

BEST PRACTICE

1、请先测通DEMO,了解DEMO的功能,代码的运行原理后再集成。DEMO有bug,请立即反馈。
2、对应任何第三方库,从一开始集成,边开发边测试,不要等所有功能都开发完再集成。否则一旦有问题,难以隔离排查。
3、有问题先与DEMO做对比。DEMO有bug,请查看错误码文档,如无法解决请立即反馈;DEMO无bug,自身代码有问题,请设置同样的输入参数后,对比两边代码及日志,自行排查问题。

—————————————————————————————————————————————————–

java架构师项目实战,高并发集群分布式,大数据高可用视频教程,共760G

下载地址:

https://item.taobao.com/item.htm?id=555888526201

01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
+
hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门

—————————————————————————————————————————————————–

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lovoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值