Unity接入SDK-02百度语音识别二(Android版)

一、开发环境

系统环境:Mac
开发软件:Unity 2019.2.8 、Android Studio 4.0.1。
所需类库:UnityPlayer等需要的classes.jar包。Mac中位置:在应用程序中找到unity app 同级目录下的PlaybackEngines文件夹,AndroidPlayer/Variations/mono/Development/Classes/classes.jar

二、Android Studio项目构建

1.打开AndroidStudio新建一个项目

2.选择“Empty Activity” 

3.填写项目配置

3.新建一个 AndroidLibrary 模块

扫描二维码关注公众号,回复: 12057540 查看本文章

4.删除app模块

5.将Unity中的classes.jar包拷贝到上面新建的 AndroidLibrary 模块,Libs目录中

Mac电脑,classes.jar文件路径:AndroidPlayer/Variations/mono/Development/Classes/classes.jar

Wid电脑,classes.jar文件路径:Data->PlaybackEngines->androidplayer->Variations->mono->release->classes->classes.jar

6.File->Project Structure..->Modules->Dependencies 在Modules中选择刚才创建的Library后添加classes.ja

7.在这个Library下新建一个class,这个class在src/main/java/…文件夹中,代码如下:

package com.test.baiduspeech;
import android.app.Fragment;
import com.unity3d.player.UnityPlayer;

public class BaiduVoice extends Fragment {

    public static BaiduVoice instance;

    public static void start() {
        instance = new BaiduVoice();
        UnityPlayer.currentActivity.getFragmentManager().beginTransaction().add(instance, "BaiduVoice").commit();
    }

    public void Test(String msg)
    {
        //注意"BaiduSpeech"是Unity中挂载接收这条消息的GameObject对象名称
        UnityPlayer.UnitySendMessage("BaiduSpeech", "AndroidMsg", msg);
    }
}

 8.选择刚才创建的Library ->Build->Make Modele"你的Library名称",生产.aar包。(生成成功后,会在“你的Library->build->outputs->aar ”目录下会生成一个.aar的文件)

9.拿到aar包之后,将其后缀改为压缩格式(zip或rar)打开压缩包删除掉libs/下面的classes.jar(原因是Unity在打包的时候会再次拷贝安装目录下的classes.jar到项目中造成冲突,)

Unity源码:https://github.com/yongliangchen/BaiduSpeechForUnity.git

Android源码:https://github.com/yongliangchen/BaiduSpeechForAndroid.git

QQ交流群:94761835

猜你喜欢

转载自blog.csdn.net/a451319296/article/details/107547208