Android 科大讯飞语音识别(详细步骤+源码)

android:id=“@+id/btn_start”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_marginTop=“20dp”

android:text=“开始识别” />

接下来就是MainActivity了

③ 编码

一、声明变量和初始化

private static final String TAG = “MainActivity”;

private SpeechRecognizer mIat;// 语音听写对象

private RecognizerDialog mIatDialog;// 语音听写UI

// 用HashMap存储听写结果

private HashMap<String, String> mIatResults = new LinkedHashMap<String, String>();

private SharedPreferences mSharedPreferences;//缓存

private String mEngineType = SpeechConstant.TYPE_CLOUD;// 引擎类型

private String language = “zh_cn”;//识别语言

private TextView tvResult;//识别结果

private Button btnStart;//开始识别

private String resultType = “json”;//结果内容数据格式

同时你要实现这个点击事件的监听

在这里插入图片描述

实现一个方法

@Override

public void onClick(View v) {

//写入点击之后处理逻辑

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

tvResult = findViewById(R.id.tv_result);

btnStart = findViewById(R.id.btn_start);

btnStart.setOnClickListener(this);//实现点击监听

}

二、动态权限请求

/**

  • android 6.0 以上需要动态申请权限

*/

private void initPermission() {

String permissions[] = {Manifest.permission.RECORD_AUDIO,

Manifest.permission.ACCESS_NETWORK_STATE,

Manifest.permission.INTERNET,

Manifest.permission.WRITE_EXTERNAL_STORAGE

};

ArrayList toApplyList = new ArrayList();

for (String perm : permissions) {

if (PackageManager.PERMISSION_GRANTED != ContextCompat.checkSelfPermission(this, perm)) {

toApplyList.add(perm);

}

}

String tmpList[] = new String[toApplyList.size()];

if (!toApplyList.isEmpty()) {

ActivityCompat.requestPermissions(this, toApplyList.toArray(tmpList), 123);

}

}

/**

  • 权限申请回调,可以作进一步处理

  • @param requestCode

  • @param permissions

  • @param grantResults

*/

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

// 此处为android 6.0以上动态授权的回调,用户自行实现。

}

在onCreate方法中调用

initPermission();//权限请求

三、语音监听

/**

  • 初始化监听器。

*/

private InitListener mInitListener = new In

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值