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