基于智能手機的盲人語(yǔ)言應用軟件的設計與開(kāi)發(fā)論文
該文主要介紹了在A(yíng)ndroid平臺上設計和實(shí)現的一款服務(wù)于盲人的手機應用軟件,開(kāi)發(fā)該軟件主要有兩個(gè)目的:第一是用智能手機服務(wù)于盲人的生活;第二是讓盲人的生活也能像正常人一樣豐富多彩。針對盲人的特殊需求,該軟件設計了三大模塊:基本應用模塊、生活模塊和娛樂(lè )模塊。軟件的主要功能有:語(yǔ)音撥打電話(huà)、語(yǔ)音發(fā)短信、導盲、天氣預報、語(yǔ)音控制播放歌曲等功能。軟件開(kāi)發(fā)使用到的核心技術(shù)主要有要核心技術(shù)有:語(yǔ)音合成、語(yǔ)音識別、百度定位、百度導航、百度天氣、網(wǎng)絡(luò )編程和SQLite編程等。有了該款軟件,盲人也能像正常人一樣享受智能手機帶來(lái)的便利。
1.緒論
1.1開(kāi)發(fā)背景
教育心理學(xué)研究表明,人類(lèi)不同感覺(jué)器官獲取信息的比例,83%來(lái)自于視覺(jué),11%來(lái)自于聽(tīng)覺(jué),只有6%來(lái)自于其他,這就意味著(zhù)盲人朋友從外界獲取到的信息量非常少,根據最新調查顯示,我國目前的盲人數量為700-800萬(wàn),占世界盲人總數的18%,另外雙眼低視力患者達1200萬(wàn),陪伴他們的不應該只有盲道和盲杖,基于這樣的需求,筆者專(zhuān)為盲人開(kāi)發(fā)了一款盲人語(yǔ)音應用軟件,目的是讓盲人也能像正常人一樣享受智能手機帶來(lái)的便利。
1.2研究現狀
國外目前比較成熟的智能語(yǔ)音軟件有三款:蘋(píng)果公司開(kāi)發(fā)的Siri、谷歌公司開(kāi)發(fā)的GoogleTalk和微軟的小冰。但是Siri只能運行在IPone4s以上版本的手機上,而且蘋(píng)果手機的價(jià)格比較昂貴,并不是所有的盲人朋友都能使用iPhone手機;而GoogleTalk對中文的識別率不是很理想,而微軟小冰目前還沒(méi)有推出專(zhuān)門(mén)針對盲人的功能。
2.研究?jì)热?/strong>
該款軟件用到的相關(guān)技術(shù)有iFLY Mobile Speech Platform 2.0、百度地圖API 、百度天氣預報API、藍牙通信、Android OS架構等;诿と说奶厥庑枨,該軟件分為三個(gè)模塊進(jìn)行設計,分別是基本應用模塊、娛樂(lè )模塊和生活模塊,系統功能架構圖1所示,框架圖中列出的所有功能均已實(shí)現。
3.系統關(guān)鍵功能介紹
3.1 語(yǔ)音撥打電話(huà)邏輯設計
設計該模塊的目的主要是方便盲人打電話(huà),當用戶(hù)需要打電話(huà)時(shí),點(diǎn)擊屏幕任意位置,發(fā)出相應指令給該軟件,軟件識別出指令后,對指令進(jìn)行分析處理,即可達到用戶(hù)需求。發(fā)指令時(shí),用戶(hù)有兩種選擇:第一種是“打電話(huà)給+聯(lián)系人姓名”,此時(shí)系統將調用手機數據庫中的通訊錄查找該聯(lián)系人,如果找到該聯(lián)系人則直接撥號,否則提示未找到該聯(lián)系人;第二種是“打電話(huà)給+電話(huà)號碼”,此時(shí)系統直接提取號碼進(jìn)行撥號。
3.2語(yǔ)音播報來(lái)電信息并自動(dòng)接聽(tīng)
移動(dòng)設備裝上該軟件后,該軟件將一直監聽(tīng)手機的狀態(tài),當監聽(tīng)到有電話(huà)打進(jìn)時(shí),系統將在手機數據庫的通訊錄中查找聯(lián)系人,如果找到,則語(yǔ)音提示“您有電話(huà)來(lái)自某聯(lián)系人”,否則直接播報“您有電話(huà)來(lái)自‘電話(huà)號碼’”。系統為語(yǔ)音播報預留20S,20S過(guò)后,系統自動(dòng)接聽(tīng)電話(huà),接聽(tīng)后提示“接通成功,祝你們溝通愉快!”。
3.3及時(shí)朗讀短信功能模塊
該模塊主要使用Android的監聽(tīng)機制完成,添加一個(gè)BroadcastReceiver來(lái)監聽(tīng)操作Android.provider.Telephony.SMS_RECEIVED。此操作在設備收到SMS消息時(shí)由Android廣播,只要收到SMS消息,就會(huì )通知應用程序[7],應用程序收到廣播后就會(huì )語(yǔ)音通知“有新信息來(lái)自+聯(lián)系人”,然后調用語(yǔ)言合成功能播報短信給用戶(hù)。
3.4定位附件的餐館
當盲人向應用發(fā)出語(yǔ)音指令“我好餓!被蚱渌c吃飯有關(guān)的語(yǔ)言指令時(shí),系統自動(dòng)為盲人定位到當前位置附近5000米內的所小吃店和餐館,盲人知道了附近的餐館名稱(chēng)后,即可用語(yǔ)音導航功能定位到餐館所在的地點(diǎn),并就餐。
3.5天氣預報功能
應用中添加了天氣預報功能,該功能需要獲取盲人用戶(hù)所在的位置,然后用盲人的位置作為參數向百度天氣發(fā)出天氣請求,軟件接收到返回結果后,對返回的Json數據進(jìn)行解析,根據用戶(hù)不同的請求做出不同的`回應。
3.6娛樂(lè )功能
筆者曾到盲人學(xué)校進(jìn)行調查,發(fā)現很多盲人性格都比較孤僻,不喜歡與別人交流,因此筆者在應用里加入了一系列娛樂(lè )功能,包括智能聊天、講故事、講笑話(huà)、百度百科等,以此來(lái)豐富盲人朋友的生活。
4.系統功能實(shí)現
4.1語(yǔ)音合成功能實(shí)現
語(yǔ)音合成和語(yǔ)音識別是該款軟件的核心,這兩個(gè)功能的實(shí)現借助了科大訊飛語(yǔ)音平臺,語(yǔ)音識別功能的關(guān)鍵代碼如下:
publicvoidYuyinHecheng(Context context, String t){
mTts = SpeechSynthesizer.createSynthesizer(context, mTtsInitListener);
mSharedPreferences = context.getSharedPreferences(TtsSettings.PREFER_NAME, Activity.MODE_PRIVATE);
setParam();
int code = mTts.startSpeaking(t, mTtsListener);
if (code != ErrorCode.SUCCESS) {
if(code == ErrorCode.ERROR_COMPONENT_NOT_INSTALLED){
}else {}}}
4.2語(yǔ)音識別功能實(shí)現
實(shí)現該功能需要創(chuàng )建一個(gè)RecognizerDialogListener對象,然后復寫(xiě)該對象的2個(gè)方法,onResult()和onError()。其中關(guān)鍵的是onResult()方法;該是語(yǔ)音識別結果回調方法,控件采用邊錄音邊發(fā)送的方式,可能會(huì )多次返回結果在調用時(shí)要判斷是否是最后一次返回,在該方法里可得到識別結果,然后對識別結果做處理。privateRecognizerDialogListenerrecognizerDialogListener = newRecognizerDialogListener() {
publicvoidonResult(RecognizerResult results, booleanisLast) {
// 把自然語(yǔ)言轉化成文字
String text = JsonParser.parseIatResult(results.getResultString());
editText1.append(text);
if (isLast) {
if (flag == 1) {
smsInfo = editText1.getText().toString();
}
4.3 語(yǔ)音撥打電話(huà)功能
系統啟動(dòng)后,用戶(hù)點(diǎn)擊屏幕,用戶(hù)可發(fā)兩種指令,若發(fā)語(yǔ)音指令“打電話(huà)給付靖玲”,若手機中存有名為“付靖玲”的聯(lián)系人,應用將撥打電話(huà)給“付靖玲”;若發(fā)語(yǔ)音指令“打電話(huà)給10086”,應用將撥打電話(huà)給10086。實(shí)現該功能需要兩步操作:第一步,在A(yíng)ndroidManifest.xml中添加用戶(hù)權限。第二步,判別識別結果并調用打電話(huà)功能,該部分代碼必須寫(xiě)在語(yǔ)音識別控件RecognizerDialogListener的音識別結果回調方法onResult()中。
4.4語(yǔ)音播報天氣
該盲人手機的語(yǔ)音應用軟件運用了百度的天氣預報API,實(shí)現了給使用者播報天氣信息的功能,該功能可播報用戶(hù)所在城市近三天的天氣情況。代碼實(shí)現如下:
buffer = newStringBuffer("http://api.map.baidu.com/telematics/v3/weather?");
buffer.append("location=").append(URLEncoder.encode(lCityName, "utf-8"));
buffer.append("&output=json");
buffer.append("&ak=").append("AINCvl9FxeNWQiWEML1rpyen");
buffer.append("&mcode=").append("百度秘").append(";").append("a.com.fjl.main");
5.手機應用界面圖
下圖展示了語(yǔ)音撥打電話(huà)模塊的界面圖,圖示如下:
6.作品創(chuàng )新點(diǎn)
任意一款裝上了該軟件的智能手機都可以供盲人使用,沒(méi)有機型的限制。此外,不僅盲人朋友可以使用該軟件,老人和不會(huì )使用智能手機的朋友也可以通過(guò)安裝該軟件享受智能手機帶來(lái)的便利,讓老年朋友的生活豐富多彩。筆者在完成軟件的開(kāi)發(fā)工作后,曾到盲人學(xué)校進(jìn)行測試,受到盲人朋友的一致好評,目前該軟件正在推行中,已有800人左右的盲人用戶(hù)在使用該軟件。
7.小結
盲人手機的語(yǔ)音應用軟件是一款方便盲人使用智能手機而開(kāi)發(fā)的手機應用軟件,它避免了繁瑣的輸入,該軟件目前還在完善中,增加聾啞人模塊,最終達到一體化服務(wù)于殘疾人的目的。
【基于智能手機的盲人語(yǔ)言應用軟件的設計與開(kāi)發(fā)論文】相關(guān)文章:
基于兒童網(wǎng)站設計開(kāi)發(fā)與實(shí)踐之初探論文04-22
基于精準教學(xué)的交互式微課開(kāi)發(fā)以及設計論文01-11
手持設備應用軟件的開(kāi)發(fā)課程教學(xué)研究論文04-17
云平臺下基于包裝設計的軟件開(kāi)發(fā)研究論文04-14
基于天地圖的校園導航系統移動(dòng)端的設計與開(kāi)發(fā)論文04-19
基于CAD輔助包裝設計的軟件開(kāi)發(fā)和實(shí)現的論文04-19
移動(dòng)應用軟件開(kāi)發(fā)實(shí)踐教學(xué)改革分析論文11-11