android整合百度语音识别,百度语音识别简单快速集成

> 下载SDK包: http://yuyin.baidu.com/sdk/down?appId=10094475

da341689a16cac70805d07842179f0a5.png

解压压缩包,会得到一个AS项目,导入AS项目,编译若出现空指针异常,调高最小版本SDK版本:

compileSdkVersion 25

buildToolsVersion "25.0.2"

defaultConfig {

minSdkVersion 15

targetSdkVersion 25

}

可以正常运行后,在自己的项目中导入该项目的app module,然后修改几个地方就可以用了。

1.gradle的修改:

apply plugin: 'com.android.library'

去掉:applicationId

注释掉:

buildTypes {

release {

//            minifyEnabled false

//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

debug {

}

}

2.AndroidManifest.xml的修改:

android:minSdkVersion="15"

android:targetSdkVersion="25" />

android:name="android.test.InstrumentationTestRunner"

android:label="Tests for com.baidu.speech.recognizerdemo"

android:targetPackage="自己的程序包名" />

>

android:name="com.baidu.speech.APP_ID"

android:value="自己的appid" />

android:name="com.baidu.speech.API_KEY"

android:value="自己的appkey" />

android:name="com.baidu.speech.SECRET_KEY"

android:value="自己的select_key" />

android:name="com.baidu.speech.VoiceRecognitionService"

android:exported="false" />

android:name="com.baidu.android.voicedemo.activity.ActivityMain"

android:configChanges="orientation|keyboardHidden|screenLayout"

android:screenOrientation="portrait"

android:theme="@android:style/Theme.DeviceDefault.Light">

。。。

最后应该就可以只用了,最好自己再封装一个工具类,将语音识别的环境初始化过程和调用的方法封装进去,使用就更方便了,我自己封装的SpeecherUtils

public class SpeecherUtils {

private static Handler handler;

private static MyRecognizer myRecognizer;

protected static CommonRecogParams apiParams;

private static Context context;

public static void init(Context context){

//        apiParams = new OnlineRecogParams((Activity) context);

SpeecherUtils.context = context;

KLog.init(true);

apiParams = new OfflineRecogParams( context);

handler = new Handler() {

/*

* @param msg

*/

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

KLog.e(msg.obj.toString() );

}

};

IRecogListener listener = new MessageStatusRecogListener(handler);

// 可以传入IRecogListener的实现类,也可以如SDK,传入EventListener实现类

// 如果传入IRecogListener类,在RecogEventAdapter为您做了大多数的json解析。

myRecognizer = new MyRecognizer(context, listener); // this是Activity或其它Context类

myRecognizer.loadOfflineEngine(OfflineRecogParams.fetchOfflineParams());

}

public static void start(){

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);

Mapparams = apiParams.fetch(sp);

myRecognizer.start(params);

KLog.e("start");

}

public static void stop(){

myRecognizer.stop(); // 发送停止录音事件,提前结束录音等待识别结果

}

public static void cancle(){

myRecognizer.cancel(); // 取消本次识别,取消后将立即停止不会返回识别结果

}

public static void destory(){

context=null;

myRecognizer.release();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值