🍓🍓一、实验目的
🍓🍓二、实验内容
🍓🍓三、实验步骤
💖💖步骤 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)科大讯飞开放平台文档中心
觉得有用的可以给个三连,关注一波!!!带你了解更多的智能机器人小知识