0
点赞
收藏
分享

微信扫一扫

讯飞AIUI智能机器人2

🍓🍓一、实验目的

🍓🍓二、实验内容

🍓🍓三、实验步骤

💖💖步骤 1:AIUI 账号申请及平台设置



💖💖步骤 2:项目工程搭建及能力包导入


💖💖步骤 3:项目 AIUI 能力导入及配置

导入配置文件,将 aiui.cfg 文件导入到应用工程目录:
src/main/assets/cfg/ 
修改 aiui.cfg 文件中的配置信息,具体如下图所示:

在这里插入图片描述
在这里插入图片描述


💖💖步骤 4:功能代码开发

package com.iflytek.environment.speechrecognition;

import android.app.Application;
import android.content.Context;

import com.starway.starrobot.commonability.RobotType;
import com.starway.starrobot.commonability.StarCommonAbility;
import com.starway.starrobot.commonability.hardware.CenterLightHelper;
import com.starway.starrobot.commonability.hardware.EmojiHelper;
import com.starway.starrobot.commonability.hardware.GPIOHelper;
import com.starway.starrobot.logability.StarLogAbility;
import com.starway.starrobot.logability.log.PartCode;

/**
 * @package: com.iflytek.environment.speechrecognition
 * @fileName: MyAPP
 * @author: admin
 * @email: admin@iflytek.com
 * @describe: TODO
 */
public class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        init();
    }

    private void init() {
        StarLogAbility.getInstance().initAbility(this);
        //基础能力初始化
        StarCommonAbility.getInstance().initAbility(this,
                RobotType.TYPE_TEACHING, new StarCommonAbility.onResultCallback() {
                    @Override
                    public void onResult(boolean isSuccess, String hardCode) {
                        if (isSuccess) {
                            // todo 硬件和业务状态初始化
                            switch (hardCode) {
                                case PartCode.HARDWARE_PARTCODE.CODE_EMOJI:
                                    // todo 设置初始表情
                                    EmojiHelper.doEmojiBase();
                                    break;
                                case PartCode.HARDWARE_PARTCODE.CODE_GPIO:
                                    // todo 默认加载的时候,将拾音方向设置为默认正前方的0度。
                                    GPIOHelper.getInstance().setMainMic(0);
                                    break;
                                case PartCode.HARDWARE_PARTCODE.CODE_CENTER_LIGHT:
                                    // todo 关闭腹部灯带
                                    CenterLightHelper.takeCenterLightOff();
                                    break;
                                default:
                                    break;
                            }
                        }
                    }
                });
    }
}
package com.iflytek.environment.speechrecognition;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.TextUtils;
import android.widget.TextView;

import com.iflytek.aiui.AIUIEvent;
import com.starway.starrobot.aiuiability.AIUIAbility;
import com.starway.starrobot.aiuiability.NLPListener;

import org.json.JSONObject;

public class MainActivity extends AppCompatActivity implements NLPListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化AIUI能力
        AIUIAbility.getInstance().initAIUIAbility(this);
        //设置AIUI监听
        AIUIAbility.getInstance().addNLPListener(this);
        //启动AIUI
        AIUIAbility.getInstance().start();

    }

    @Override
    public void onAiuiResponse(String bean) {
        if (TextUtils.isEmpty(bean)) {
            return;
        }

        try {
            JSONObject object = new JSONObject(bean);
            if (null == object) {
                return;
            }
            JSONObject intentObject = object.optJSONObject("intent");
            if (null == intentObject) {
                return;
            }

            if (intentObject.has("text")) {
                TextView txtView = (TextView) findViewById(R.id.txtArea);
                txtView.setText(intentObject.getString("text"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }


    }

    @Override
    public void onAiuiWakeUp() {

    }

    @Override
    public void onAiuiSleep() {

    }

    @Override
    public void onAiuiEvent(AIUIEvent aiuiEvent) {

    }

    @Override
    public void onError(int i) {

    }

    @Override
    protected void onPause() {
        super.onPause();
        //停止AIUI服务
        AIUIAbility.getInstance().release();

    }
}

💖💖步骤 5:应用权限申请


💖💖步骤6 : 结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验完成,让电脑连接配件,配件能get到你的声音并在屏幕上显示出来。


🍓🍓步骤 7: 小结: 错误小集合,我竟然把雷全踩了.

🐱‍👓🐱‍👓1. 程序运行错误

🐱‍👓🐱‍👓2. 代码错误

🐱‍👓🐱‍👓3 .编译错误


🍓🍓八、 参考资料与扩展阅读

1)Android 开发工具网站
2)Android 开发者社区
3)科大讯飞 AIUI 开放平台
4)科大讯飞开放平台文档中心








觉得有用的可以给个三连,关注一波!!!带你了解更多的智能机器人小知识

举报

相关推荐

科大讯飞AIUI唤醒报错25102

0 条评论