当前位置:首页 > 基于Android系统的手机语音识别软件开发
基于Android系统的手机语音识别软件开发
图4.5 语音数据获取和保存源代码
4.5 文件上传功能实现
要将文件上传到服务器,我们必须编写实现文件发送的客户端代码和实现文件
接收的服务器端代码。首先我们编写一个名为UploadToServer的Java类,并在该类中编写一个uploadFile方法来实现文件发送操作。发送使用的是“post”请求方式,并通过一个专门实现文件上传到服务器的类AsyncHttpClient来实现。uploadFile方法中定义的url为服务器端的地址,filePath为所需上传文件的存放目录,filePath为文件的保存目录,通过Environment.getExternalStorageDirectory()+”CallMonitor.txt”方法获得文件的绝对路径。另外再新建一个名为httpClient的AsyncHttpClient类,并设计该类的post(url,param,new AsyncHttpResponseHandler)方法,实现文件的上传。该类操作时,需要抛出FileNotFoundException异常。具体代码如图4.6所示。
- 17 -
郑州大学电气工程学院毕业设计(论文)
图4.6 文件发送到服务器客户端源代码
然后我们还需要在服务器端接收客户端所发送的文件,并保存,部分代码如图
4.7所示。具体代码参见整个程序的源代码。
图4.7 服务器端接收文件部分源代码
- 18 -
基于Android系统的手机语音识别软件开发
由于软件需要实现后台运行,所以最后面我们再新建一个文件上传服务类
UploadService,该类的父类为Service。然后在服务创建时调用文件上传类UploadToServer中的文件上传方法uploadFile。具体代码如图4.8所示。
图4.8 利用服务实现文件上传
4.6 本章小结
本课题已经基本实现了各个模块的功能。但由于当前技术以及所具备的知识的限制,还有许多需要改善的地方。
(1)由于当前语音识别技术的限制以及用户使用软件时的具体情况,譬如用户通话期间可能存在空白时间或者存在外界无关的干扰声音,对于这部分时间或信息软件是无法对其进行反应和处理的。
(2)由于软件用户语言的不准备或者存在地域口音化,软件无法将获取的语音信息和已经存在的语音库进行对照并识别,或者因为对照后的相似度比较小,无法转化成正确的文本信息,从而无法正确识别出通话内容。后期可以通过对语音库的完善,尽可能的提高识别的正确率。
(3)课题开发的应用只能对通话者单方面进行语音监听,并不能对该通话者通话的另一方的语音进行采集并识别,从而无法完全的获取用户的通话内容。由
- 19 -
郑州大学电气工程学院毕业设计(论文)
于对这方面知识的局限性,猜想后期可以通过某些技术将用户手机接收到的语音信息和系统存在的语音库信息后台对比,然后编写程序让手机后台将得到的信息自动转换成文字信息。
- 20 -
共分享92篇相关文档