接入百度语音识别
-
跟之前文章写过的接入讯飞语音识别一样,都要去官网下载对应的SDK
-
所以我们去官网下载SDK,大家都是聪明人
百度语音SDK获取网址
-
怎样获取SDK部分就不做过多介绍了,进入官网按照介绍
-
注册登录获取语音识别的SDK就好了,然后创建一个应用这样应用就创建成功了,这里要记住APPID,后面会用到!找到SDK下载一个语音识别的SDK
那接下来就是获取到语音识别SDK后的部分了!
🍓Android Studio端操作步骤
1.工程开始
老规矩,新建项目,修改名字和路径,准备开始!
然后新建一个module,起一个名字 File-new-new Module(下图)
在这里插入图片描述
2.接入Unity的classes.jar包
-
把Unity的class接入,路径在安装Unity客户端的路径下
-
Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes
-
把Unity的jar包复制到AS的libs目录下,如下图:
3.接入讯飞语音的classess.jar包
-
同样的方法,将百度语音的jar包也放进去
-
ar包位置就在我们在官网下载的SDK解压后的core->libs路径下
-
直接也复制到AS的libs目录下就行!效果如下:
4.关联两个classes.jar包
-
选中两个jar包,右键Add As Libray…
-
等待编译完就好了
-
也可以右键iflytevoice,Open Module Settings
-
将.jar文件手动添加,添加完了记得点apply应用一下如果点击后这里显示已经有了这两个jar包,那说明就关联好了
5.添加libmsc.so
还是在我们下载的SDK目录下找到这个文件夹jniLibs
-
然后把这个文件夹直接复制到AS的src->main目录下
如下图所示:
6.写SDK的接口
好了,到这一步才是写代码的阶段,前边做的几个步骤都是为了为最后的操作搭建一个"台子"
-
我们接下来新建四个类,分别是CientBaiDuVoiceMainActivity、RecognHandler、RecognListener和GetActivity
-
怎样新建就不说了,我这里还新建了两个文件夹Recogn和Util为了区分脚本类别,照着我这个做就行
直接看一下最终效果:然后直接上各个脚本的代码,直接放进去就行「CientBaiDuVoiceMainActivity:」
package com.example.baidu;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import com.example.baidu.Recogn.RecognHandler;
import com.example.baidu.Recogn.RecognListener;
import com.unity3d.player.UnityPlayerActivity;
public class CientBaiDuVoiceMainActivity {
public static CientBaiDuVoiceMainActivity _instance;
public static CientBaiDuVoiceMainActivity getInstance() {
if (_instance == null) {
_instance = new CientBaiDuVoiceMainActivity();
}
return _instance;
}
//语音识别
RecognHandler mRecognHandler;
//语音识别初始化
public void InitRecogn(Context context) {
Log.i("@@@", "安卓端开始初始化语音识别了 ");
RecognListener listener=new RecognListener();
mRecognHandler=new RecognHandler(context,listener);
}
//开始语音识别
public void StartRecogn() {
mRecognHandler.Start();
}
//停止语音识别
public void StopRecogn() {
mRecognHandler.Stop();
}
//释放语音识别实例
public void ReleaseRecogn() {
mRecognHandler.Release();
mRecognHandler=null;
}
}
「RecognHandler:」
package com.example.baidu.Recogn;//自己的包名
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.util.Log;
import com.baidu.speech.EventListener;
import com.baidu.speech.EventMana