语音对我们的重要性
时代一直进步,现在很多技术也越来越新颖,语音技术的出现更是很大的释放了我们的双手,即便你有的字不会写但是会说,又或者你开车没法打字,当然我建议开车肯定不能玩手机,你都可以用语音识别功能进行语音识别,翻译成文字。
语音平台
现在各个公司平台技术都相当成熟,提供了各种sdk等,像谷歌,百度,讯飞等,一开始我是打算使用谷歌平台,但是我们访问他的话速度会比较慢也可能访问不了,所以我选择了国内的平台–讯飞跟百度,两个做使用,这里我做讯飞的介绍,当然你选择谷歌其他的都是ok的。
讯飞操作步骤
注册讯飞
首先我们需要登录 讯飞的网站进行注册登录,注册登录完之后创建我的应用,应用名称分类其他的都填一下
获取创建应用
接着可以查看刚刚创建的应用,里面有APPID,APISecret,APIKey这些都是后面需要用到的的
下载对应的文件
下载语音识别需要的SDK,这里我选择的是Android msc
将下载的文件解压得到了如下所示的文件
将下载的文件引入安卓工程
在andstudio里新建一个工程,将解压文件的libs底下的MSC.jar包复制到工程的libs,然后在点击jar包,右键add as Libary,然后就可以使用了,否则你是用不了的。
接着这是一步很重要的步骤,你需要在工程底下新建一个jniLibs,然后将解压文件里的libs除jar包文件外的其他文件复制到jniLibs底下,这个坑是困扰了我好久,看讯飞的文档里写的是将.so文件放在lib底下就可以,但是就得做修改,否则会遇到21002这个错误,找不到.so
这一步很多我看到的博客上都没有提到,可能老手本身比较熟悉,对于小白来说,没加这个插件很难发现,比如我,我是看视频解析的时候看到的,你想使用.so文件必须装 ,那就是得配置NDK,NDK可以直接在编译器里在线下载
编写布局代码
布局代码很简单,就一个按钮跟一个TextView控件,按钮是用来启动语音识别功能的,TextView是用来显示语音翻译出的文字在这里插入代码片
<TextView
android:id="@+id/textview_context"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="语音输入"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:onClick="startSpeechClick"/>
初始化
首先先初始化,*****填你应用的APPID,这里强调一下,每个应该的SDK都有相对应的APPID,所以有可能你用别人的SDK,在用自己的APPID用不了
protected void onCreate(Bundle savedInstanceState) {