Android studio如何实现语音转文字功能
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要介绍了Android studio如何实现语音转文字功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、在科大讯飞的官网
千家信息网最后更新 2025年11月10日Android studio如何实现语音转文字功能
这篇文章主要介绍了Android studio如何实现语音转文字功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
一、在科大讯飞的官网上注册并下载SDK
1.首先去讯飞开放平台申请一个账号(https://www.xfyun.cn/),然后点击"控制台"进入新的页面,创建一个应用,找到"语音听写",下载相应的SDK。
文件解压后内容如下:
二、配置安卓项目
1.在android studio中新建一个空项目,将libs文件夹中的内容复制到安卓项目的libs文件夹下,其中msc.jar要右键添加Add As Library:
2.将assets文件夹拷贝到项目的main目录下,并在main目录下新建一个名为jniLibs的文件夹,将下载的libs文件夹中的两个子文件夹复制到jniLibs中:
3.在AndriodManifest.xml中添加以下权限:
4.在app目录下的build.gradle中添加以下代码:
sourceSets { main { jniLibs.srcDirs = ['libs'] } }5.修改布局文件activity_main.xml中的代码:
6.新建一个名为XunFeiCallbackListener的接口:
package com.example.myapplication;import com.iflytek.cloud.RecognizerResult;public interface XunFeiCallbackListener { void onFinish(RecognizerResult results);}7.新建一个名为XunFeiUtil的类:
package com.example.myapplication;import android.content.Context; import android.widget.Toast; import com.iflytek.cloud.RecognizerResult; import com.iflytek.cloud.SpeechConstant; import com.iflytek.cloud.SpeechError; import com.iflytek.cloud.SpeechUtility; import com.iflytek.cloud.ui.RecognizerDialog; import com.iflytek.cloud.ui.RecognizerDialogListener; import org.json.JSONArray; import org.json.JSONObject; import org.json.JSONTokener;public class XunFeiUtil { public static String appid = "自己的appid"; public static void initXunFei(Context context){ SpeechUtility.createUtility(context, SpeechConstant.APPID +"="+appid); } public static void startVoice(Context context, final XunFeiCallbackListener callbackListener) { RecognizerDialog dialog = new RecognizerDialog(context,null); dialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn"); dialog.setParameter(SpeechConstant.ACCENT, "mandarin"); dialog.setParameter(SpeechConstant.ASR_PTT, "0"); dialog.setListener(new RecognizerDialogListener() { @Override public void onResult(RecognizerResult recognizerResult, boolean b) { callbackListener.onFinish(recognizerResult); } @Override public void onError(SpeechError speechError) { } }); dialog.show(); //Toast.makeText(this, "请开始说话", Toast.LENGTH_SHORT).show(); } public static String parseIatResult(String json) { StringBuffer ret = new StringBuffer(); try { JSONTokener tokener = new JSONTokener(json); JSONObject joResult = new JSONObject(tokener); JSONArray words = joResult.getJSONArray("ws"); for (int i = 0; i < words.length(); i++) { // 转写结果词,默认使用第一个结果 JSONArray items = words.getJSONObject(i).getJSONArray("cw"); JSONObject obj = items.getJSONObject(0); ret.append(obj.getString("w")); } } catch (Exception e) { e.printStackTrace(); } return ret.toString(); }}8.修改MainActivity:
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import com.iflytek.cloud.RecognizerResult;import static com.example.myapplication.XunFeiUtil.parseIatResult;import static com.example.myapplication.XunFeiUtil.*;public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button btn_click; private EditText mResultText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initXunFei(this); btn_click = (Button) findViewById(R.id.btn_click); mResultText = ((EditText) findViewById(R.id.result)); btn_click.setOnClickListener(this); } @Override public void onClick(View v) { startVoice(this, new XunFeiCallbackListener() { @Override public void onFinish(RecognizerResult results) { String text = parseIatResult(results.getResultString()); // 自动填写地址 mResultText.append(text); } }); }}三、运行效果展示
按照以上操作进行修改,完成后运行项目,会出现语音开启失败,错误码为20006的错误,出错原因是android系统在非动态申请权限的情况下,默认是把麦克风权限是关闭了的,因此需要打开权限,可以在手机的权限中自己修改权限设置,成功后的界面如下:

感谢你能够认真阅读完这篇文章,希望小编分享的"Android studio如何实现语音转文字功能"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
文件
文件夹
权限
项目
语音
篇文章
目录
功能
文字
代码
内容
结果
错误
安卓
讯飞
运行
成功
两个
价值
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
危害网络安全怎么处理
软件开发 税率6% 3%
软件开发职位的简历
海湾五千型主机数据库怎么样调取
查询数据库几个实例
正规网络技术咨询市场报价
数据库如何访问禅道
高耑网络技术有限公司
青岛高科网络技术学院
军营版网络安全
三大数据库文献类型
两栖类数据库
北京奥托互联网科技有限公司
网络安全法66条司法解释
网络安全还要保护吗
互联网科技和钢铁西游
需单独核算的软件开发成本
app软件开发维护人员工资
合肥埃科光电软件开发工程师
.dbf数据库
美橙服务器多少钱
昆明软件开发行业swto
邯郸软件开发培训哪个好
高速路网络技术
国家网络安全 动画
数据库通过函数转换时间
学软件开发真的有出路吗
写字的网络安全手抄报
珠海购物直播软件开发
数据库归档日志大小查询