版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 編號: </p><p> 本科畢業(yè)設計(論文)</p><p> 基于Android平臺的語音朗讀器</p><p> Speech Reader based Android platform</p><p> 下屬學院 科技學院 </p>&
2、lt;p> 專 業(yè) 軟件工程 </p><p> 班 級 07軟件工程 </p><p> 學 號 </p><p> 姓 名 XXX </p>&
3、lt;p> 指導教師 XXX 職稱 講師 </p><p> 完成日期 201 1 年 5 月 10 日</p><p><b> 摘 要</b></p><p> 【摘要】本系統(tǒng)以移動手機語音應用的高速發(fā)展為背景提出,采用Android平臺架構完成。本文對語音朗讀器中所涉及相關技術進行了介紹
4、,并在此基礎上提出了語音朗讀器中相應的解決策略。同時通過對語音朗讀器的需求分析,對系統(tǒng)各個功能模塊進行了設計,并實現(xiàn)了相關技術和算法在系統(tǒng)中的應用。由于條件的限制,本文主要闡述了系統(tǒng)的語音朗讀、語音短信、語音識別的功能。最后,本文指出了該系統(tǒng)已改進的一些問題與解決方法及步驟,以及已發(fā)現(xiàn)但未解決的問題及描述。系統(tǒng)采用Android平臺開發(fā)技術,采用Eclipse作為系統(tǒng)開發(fā)工具。</p><p> 【關鍵詞】An
5、droid; Eclipse;語音朗讀。</p><p><b> Abstract</b></p><p> 【ABSTRACT】The voice application system to the rapid development of mobile phones made ??for the
6、160;background, complete with Android platform architecture. This article introduces the technologies which are referred to the voice application, and bring forward corresponding measures in the voice applicati
7、on system. Through the requirement analysis of the programming forum system, it designs each functional modules of the system and achieves the technology and algorithms of the system. As the limitat</p><p>
8、 【KEYWORDS】Android ; Eclipse;Speech.</p><p><b> 目 錄</b></p><p><b> 1緒論1</b></p><p><b> 1.1引言1</b></p><p> 1.1.1嵌入式系統(tǒng)特點1&
9、lt;/p><p> 1.1.2手機應用軟件特點1</p><p><b> 1.2課題意義1</b></p><p><b> 1.3開發(fā)背景2</b></p><p> 1.4研究方向和實現(xiàn)2</p><p> 2系統(tǒng)開發(fā)相關技術4</p>
10、<p> 2.1 Android平臺架構4</p><p> 2.2 Eclipse及ADT介紹6</p><p> 2.3第三方語音庫TTS選擇6</p><p> 2.4 STT語音識別的引擎選擇7</p><p> 2.5 Android 樣式主題7</p><p><b>
11、; 3系統(tǒng)需求分析8</b></p><p> 3.1需求分析解決的主要問題8</p><p> 3.2系統(tǒng)功能需求8</p><p> 3.2.1語音朗讀8</p><p> 3.2.2語音短信8</p><p> 3.2.3語音識別8</p><p>
12、3.3用戶界面需求9</p><p> 3.4系統(tǒng)運行環(huán)境9</p><p> 4系統(tǒng)的設計和實現(xiàn)10</p><p> 4.1基本簡介10</p><p> 4.2系統(tǒng)結構圖10</p><p> 4.3概要設計10</p><p> 4.3.1各功能模塊設計10&l
13、t;/p><p> 4.4系統(tǒng)具體實現(xiàn)11</p><p> 4.5碰到的難點15</p><p><b> 5系統(tǒng)測試16</b></p><p> 5.1系統(tǒng)錯誤16</p><p> 5.1.1加載布局XML無效16</p><p> 5.1.2短信
14、截斷無效16</p><p> 5.1.3語音識別中文無效16</p><p> 5.1.4系統(tǒng)資源找不到17</p><p> 5.1.5短信服務截取消息傳送問題17</p><p> 5.2系統(tǒng)優(yōu)化17</p><p> 5.2.1 XML布局優(yōu)化17</p><p>
15、 5.2.2代碼提示String修改優(yōu)化18</p><p><b> 6總結與展望19</b></p><p> 6.1論文總結19</p><p> 6.2研究展望19</p><p><b> 參考文獻21</b></p><p><b>
16、 致謝22</b></p><p><b> 附錄23</b></p><p><b> 1緒論</b></p><p><b> 1.1引言</b></p><p> 1.1.1嵌入式系統(tǒng)特點</p><p> 嵌入式系統(tǒng)是
17、計算機的一種應用形式,通常指埋藏在宿主設備中的微處理機系統(tǒng)。嵌入式最大的優(yōu)點就是簡潔,程序不會太過臃腫,開發(fā)較快,功能強大又互不相同,都具有實時性強、結構緊湊、可靠性高和面向對象等共同特點。</p><p> 嵌入式系統(tǒng)通常由硬件和軟件兩部分組成。嵌入系統(tǒng)與通用計算機系統(tǒng)相比有五個明顯的特征專用性、可封裝性、外來性、實時性、可靠性。</p><p> 1.1.2手機應用軟件特點<
18、/p><p> 針對手機應用的開發(fā)者來說,開發(fā)一個手機應用與開發(fā)桌面計算機應用在語法上沒有太大的差別,它們具有相同的表達式、運算符、操作符和相同程序流程控制方法。只是手機的應用程序開發(fā)平臺針對手機的特性定義了一系列的應用開發(fā)框架以適應對應的硬件開發(fā)平臺,而由于硬件性能環(huán)境的關系,這些框架大多都是桌面應用開發(fā)框架的一個子集。</p><p> 作為手持設備的一種,手機之所以能夠時時刻刻伴隨著
19、人們的生活,其最重要的特征就是便攜性。也正是因為手機體積小,重量輕,還支持網(wǎng)絡應用,能方便人們不受地域和空間的限制進行溝通交流,所以它擁有大量的客戶群體,手機應用的潛在用戶群體比桌面平臺更為巨大。</p><p><b> 1.2課題意義</b></p><p> 近年來,我國嵌入式系統(tǒng)市場快速增長。到目前為止,嵌入式產(chǎn)品主要分布在消費類電子、通信、醫(yī)療、安全等行
20、業(yè)。其中在消費類電子領域占最大的市場份額。移動多媒體、數(shù)字娛樂、手機終端、汽車電子成為嵌入式系統(tǒng)應用市場的發(fā)展重點,尤其針對手機、便攜式多媒體設備、家庭娛樂應用的音視頻產(chǎn)品和解決方案增長潛力最大。目前應用在手機上的操作系統(tǒng)主要有PalmOS、Symbian、Windows Mobile、Android、iPhoneOS、黑莓七種。而對于本課題而言解決了一部分用戶在現(xiàn)實存在的語音朗讀需求。</p><p> 嵌入
21、式產(chǎn)品的應用無處不在,語音技術的加入讓嵌入式產(chǎn)品能“聽”會“說”,變得更加智能和方便。特別是嵌入式產(chǎn)品體積受限,“看”屏幕信息不方便,利用語音技術“聽”信息和語音命令操作機器,將嵌入式產(chǎn)品的便攜性和實用性完美的結合起來。典型的應用環(huán)境包括以手機為代表的移動通信環(huán)境、以GPS導航為代表的汽車環(huán)境和以MP3/MP4、學習機為代表的隨身電子數(shù)碼娛樂環(huán)境。而隨著中國手機、汽車和數(shù)碼電子等市場的快速發(fā)展,嵌入式語音產(chǎn)品市場必將在最近幾年呈現(xiàn)出爆發(fā)
22、式增長。</p><p><b> 1.3開發(fā)背景</b></p><p> 計算技術、無線接入技術的發(fā)展,使嵌入式系統(tǒng)逐漸有能力對桌面系統(tǒng)常規(guī)業(yè)務進行支持。谷歌長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機制造商和移動運營商結成合作伙伴,開發(fā)既有用又有吸引力的移動服務,并推廣這些產(chǎn)品。Android 進一步推進了"隨時隨地為每個人提供信息"
23、這一企業(yè)目標的實現(xiàn)。Open Handset Alliance 匯集了多家業(yè)界巨頭。運營商如:China Mobile、NTT DoCoMo、Vodafone、T-Mobile等;設備制造商如ASUS、HTC、Huawei、LG、Motorola、Samsung、Sony Ericsson、Toshiba 等;芯片廠商如ARM、Broadcom、Intel、Marvell、NVIDIA、Qualcomm 等。軟件廠商如Ascender、
24、eBay、Esmertec、LivingImage等。Android 更像一款桌面環(huán)境為Java 的Linux 操作系統(tǒng)。有助于Google 實現(xiàn)其"隨時隨地為每個人提供信息"的企業(yè)戰(zhàn)略。</p><p> 隨著移動嵌入式的飛速發(fā)展,智能手機的更新?lián)Q代,Android以其特有的技術優(yōu)勢,占據(jù)了在智能手機操作系統(tǒng)的一定市場份額,并且逐漸被人們所認識和接受。但熟悉Android應用程序的軟件開發(fā)
25、者為數(shù)不多,因此Android應用程序的開發(fā)擁有廣闊的前景?;贏ndroid系統(tǒng)的語言朗讀設計與實現(xiàn),能夠幫助我們理解Android應用程序的開發(fā)過程。包括Android系統(tǒng)架構、開發(fā)環(huán)境搭建、JNI編程、熟悉SDK文檔以及開源語音庫的了解。</p><p> 1.4研究方向和實現(xiàn)</p><p> 本課題基于Android平臺開發(fā)出一個手機語音朗讀軟件,能夠流利的朗讀英文,服務于手
26、機語音電子書市場?;蛟S很用戶在車載的時候也能使用語音的短信和語音電話之類的服務。</p><p> 本次設計的系統(tǒng)是針對個人畢業(yè)設計課程,其系統(tǒng)設計參考當前主流的Android的軟件開發(fā)流程。系統(tǒng)界面設計使用XML頁面布局工具,以Style樣式文件加圖片動畫配合,界面開發(fā)及程序編寫在Eclipse集成開發(fā)平臺結合使用集成組件ADT完成,整個系統(tǒng)分為3個大功能:</p><p><b
27、> 語音朗讀:</b></p><p> ?。?)用戶可以輸入文字,通過系統(tǒng)進行朗讀;</p><p> (2)還可以讀取系統(tǒng)存取的TXT文本,進行朗讀;</p><p><b> 語音短信:</b></p><p> (1)用戶打開語音短信開關,接受到短信就會自動讀取出來;</p>
28、;<p> ?。?)對朗讀的短信可以進行回復;</p><p><b> 語音識別:</b></p><p> ?。?)可以語音打開指定的APP應用軟件;</p><p> ?。?)可以語音打開指定的網(wǎng)頁服務;</p><p> ?。?)可以語音呼出電話;</p><p>
29、 基于上述背景,在接下來的章節(jié)將對語音朗讀器發(fā)所涉及的相關技術進行分析。</p><p><b> 2系統(tǒng)開發(fā)相關技術</b></p><p> 本章將主要介紹了本次設計系統(tǒng)的相關技術,包括系統(tǒng)采用的結構、編程工具以及相關技術。</p><p> 2.1 Android平臺架構</p><p> Android
30、平臺整體自底向上由以下四個層次組成:Linux內核層、Android運行時庫和其他庫層、應用框架層、應用程序層。如圖2.1所示</p><p> 1)Linux內核層:Android基于Linux 2.6提供核心系統(tǒng)服務,例如:安全、內存管理、進程管理、網(wǎng)絡堆棧、驅動模型。Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細節(jié)而為上層提供統(tǒng)一的服務。</p><p>
31、 2)Android運行時庫:Android包含一個核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個Android應用程序是Dalvik虛擬機中的實例,運行在他們自己的進程中。在一個設備可以高效地運行多個虛擬機。Dalvik虛擬機可執(zhí)行文件格式是.dex,dex格式是專為Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統(tǒng)。</p><p> 3)其他庫層:Android包含一個
32、C/C++庫的集合,供Android系統(tǒng)的各個組件使用。例如,標準C庫,基于PacketVideo的OpenCORE媒體庫,基于OpenGL的3D庫,關系數(shù)據(jù)庫SQLite。</p><p> 4)應用框架層:開發(fā)者可以完全使用核心應用程序所使用的框架API。應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發(fā)布他的功能且任何其他應用程序可以使用這些功能(需要服從框架執(zhí)行的安全限制)。包括View、Cont
33、ent Provide、Notification Manager、Resource Manager、Activity Manager。</p><p> 5)應用程序層:Android裝配一個核心應用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯(lián)系人和其他設置。所有應用程序都是用Java編程語言寫的。更加豐富的應用程序有待我們去開發(fā)。</p><p> 3.Andro
34、id應用程序解析</p><p> 1)Active:活動是最基本的Android 應用程序組件,應用程序中,一個活動通常</p><p> 就是一個單獨的屏幕。每一個活動都被實現(xiàn)為一個獨立的類,并且從活動基類中繼承而來,活動類將會顯示由視圖控件組成的用戶接口,并對事件做出響應。大多數(shù)的應用是由多個屏幕顯示組成。例如:一個文本信息的應用也許有一個顯示發(fā)送消息的聯(lián)系人列表屏幕,第二個屏幕
35、用來寫文本消息和選擇收件人,再來一個屏幕查看消息歷史或者消息設置操作等。這里每一個這樣的屏幕就是一個活動,很容易實現(xiàn)從一個屏幕到一個新的屏幕并且完成新的活動。</p><p> 2)Intent:調用Android 專有類Intent 進行架構屏幕之間的切換。Intent 是描述應用想要做什么。Intent 數(shù)據(jù)結構兩個最重要的部分是動作和動作對應的數(shù)據(jù)。典型的動作類型有:MAIN(活動的門戶)、VIEW、PI
36、CK、EDIT等。而動作對應的數(shù)據(jù)則以URI 的形式進行表示。例如:要查看某個人的聯(lián)系方式,你需要創(chuàng)建一個動作類型為VIEW 的Intent,以及一個表示這個人的URI。</p><p> 3)IntentReceiver:IntentReceiver在感興趣的事件發(fā)生時,會使用NotificationManagemer通知用戶,但它并不能生成一個UI。IntentReceiver 在AndroidManife
37、st.xml 中注冊,但也可以在代碼中使用Context.registerReceiver()進行注冊。當一個intentreceiver 被觸發(fā)時,你的應用不必對請求調用intentreceiver,系統(tǒng)會在需要的時候啟動你的應用。</p><p> 4)Service:一個Service 是一段長生命周期的,沒有用戶界面的程序。比較好的一個例子就是一個正在從播放列表中播放歌曲的媒體播放器。在一個媒體播放器的
38、應用中,應該會有多個activity,讓使用者可以選擇歌曲并播放歌曲。然而,音樂重放這個功能并沒有對應的activity,因為使用者當然會認為在導航到其它屏幕時音樂應該還在播放的。</p><p> 5)Content Provider:Android 應用程序能夠將它們的數(shù)據(jù)保存到文件、SQLite 數(shù)據(jù)庫中,甚至是任何有效的設備中。當你想將你的應用數(shù)據(jù)與其它的應用共享時,內容提供器就可以發(fā)揮作用了。因為內容
39、提供器類實現(xiàn)了一組標準的方法,從而能夠讓其它的應用保存或讀取此內容提供器處理的各種數(shù)據(jù)類型。</p><p> 2.2 Eclipse及ADT介紹</p><p> Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Dev
40、elopment Tools,JDT)。 Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE)。既然是標準插件集,那就表示默認就按裝了JDT和PDE,也就可以進行Java開發(fā)和Eclipse插件開發(fā)。</p><p> 盡管 Eclipse 是使用Java 語言開發(fā)的,但它的用途并不限于 Java 語言,Eclipse 框架還可用來作為與軟件開發(fā)無關的其他
41、應用程序類型的基礎,比如內容管理系統(tǒng)。Eclipse除了開發(fā)Java程序,在安裝必要的插件后可以做為其他開發(fā)工具,如按裝了C++插件后就可以開發(fā)C++應用程序。</p><p> ADT是Eclipse的插件,是針對Android系統(tǒng)開發(fā)的插件,在開發(fā)過程當中需要做一些配置,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。</p><p> Eclipse 是
42、一個IDE(Integrated Developing Environment),而這個IDE是允許安裝第三方開發(fā)的插件來使自身的功能得到擴展和增強的,而MyEclipse就是其中的一種有名的插件集之一,MyEclipse將開發(fā)者常用到的一些有用的插件都集合起來。</p><p> 2.3第三方語音庫TTS選擇</p><p> 智能語音技術是機器與人進行交流互動的技術,分為語音合成技
43、術和語音識別技術,前者可用于人機交互的輸出,使設備可以將文本信息轉化成語音信息,后者主要用于人機交互的輸入,使設備能夠接收人發(fā)出的語音信息并加以識別。實現(xiàn)兩種技術的結合,即可實現(xiàn)“語音-文本”、“文本-語音”的轉換,實現(xiàn)人機接口的語音交互。有關智能語音技術,國外MicroSoft公司早在90年代就開始了研究,且推出了語音技術Speech SDK系統(tǒng)產(chǎn)品;IBM公司在1998年就推出了ViaVoice語音識別系統(tǒng),用于PC、手提設備、汽車
44、系統(tǒng)和自動客戶服務系統(tǒng)。</p><p> 在Android系統(tǒng)可以使用的語音庫大致有3種,默認系統(tǒng)自帶的是Pico TTS、Svox、Eye三種首先系統(tǒng)自帶的不支持系統(tǒng)朗讀中文,所以這個給系統(tǒng)的開發(fā)帶來不便,Eye和Svox都是支持中文的,Eye開源但是朗讀的效果不是很好,對于有些斷句和聲調的處理比較弱,所以最終選擇相對穩(wěn)定的Svox作為本人的Text To Speech的識別引擎。</p>&
45、lt;p> 2.4 STT語音識別的引擎選擇</p><p> 在開源領域有幾款的語音識別的引擎在英文領域識別的效果都是非常好的,例如Linux開源語音識別引擎simon、nuance之類,在英文識別中的效率是較好,國內訊飛自己研究的引擎也是不錯的,但是大部分的識別引擎都對中文的識別存在問題,訊飛的是不開放的,所以課題本身就選擇了google自帶的識別引擎,對于中文的支持效果可以,唯一的缺點就是要聯(lián)網(wǎng),
46、自學習的過程是在服務端完成,對網(wǎng)絡有一定的要求。</p><p> 2.5 Android 樣式主題</p><p> Android 的樣式主題和CSS是極為相似的。都是用于為界面元素定義顯示風格,它是一個包含一個或者多個 view 控件屬性的集合。樣式定義了HTML元素怎樣去顯示,一般存儲在樣式表中。利用外部樣式表可以提高工作效率,而外部樣式表存儲在Style文件中。Style用以
47、作為網(wǎng)頁的排版與風格設計,在所謂的新式系統(tǒng)布局里 ,Style不容置疑是相當重要的一環(huán)。Style是以既有的基礎,用以彌補現(xiàn)有Android設計軟件界面時的語法中的不足,也讓軟件開發(fā)更加靈活</p><p><b> 3系統(tǒng)需求分析</b></p><p> 要做一個符合用戶需求的軟件,對用戶進行需求分析必不可少。需求分析需要弄清楚用戶最終需要解決哪些問題,開發(fā)出
48、的系統(tǒng)要為用戶提供什么樣的功能,什么樣的操作界面和運行環(huán)境。</p><p> 3.1需求分析解決的主要問題</p><p> 在傳統(tǒng)的手機應用軟件中,對于語音朗讀的處理都是相對比較薄弱,在Android平臺上的有聲朗讀的軟件也是寥寥無幾。解決的主要問題是本課題要完成哪些現(xiàn)實有效的功能。</p><p> 要實現(xiàn)一個軟件,首先應該進行需求分析,這樣才能令設計出
49、的軟件滿足用戶的各項功能。下面就對本課題的設計進行需求分析。</p><p><b> 3.2系統(tǒng)功能需求</b></p><p> 功能大致分為3個大功能分別是:語音的朗讀、語音短信、語音識別。</p><p><b> 3.2.1語音朗讀</b></p><p> (1)提供用戶輸入的區(qū)
50、域,是的用戶能輸入文字;</p><p> (2)提供ReadFile功能,能讀取系統(tǒng)內部開放權限的的TXT的文本內容;</p><p> ?。?)提供對用戶輸入的文字,或者是系統(tǒng)讀出的TXT的文本進行朗讀;</p><p><b> 3.2.2語音短信</b></p><p> ?。?)提供給用戶開啟和關閉語音短信
51、的按鈕開關;</p><p> ?。?)提供給短信發(fā)來后自動的朗讀短信的內容;</p><p> ?。?)提供給發(fā)來的短信即時回復的功能;</p><p><b> 3.2.3語音識別</b></p><p> ?。?)提供用戶輸入的接口,用戶可以輸入語音;</p><p> ?。?)提供給語音
52、合成返回的處理功能;</p><p> ?。?)可以打開app、瀏覽器、以后語音電話的功能;</p><p><b> 3.3用戶界面需求</b></p><p> 1.要求有簡潔大方的界面風格,清晰淡然;</p><p> 2.界面友好,有適當?shù)牟僮魈崾拘畔ⅲ?lt;/p><p> 3.用戶
53、體驗好,用戶用起來順手; </p><p><b> 3.4系統(tǒng)運行環(huán)境</b></p><p> 為了保證系統(tǒng)運行的效率和可靠性,,客戶端的要求不是很高。此應用程序可運行于Android系統(tǒng)的手機平臺2.2平臺以上。</p><p><b> 4系統(tǒng)的設計和實現(xiàn)</b></p><p>
54、弄清楚需求后,就要對軟件進行概要設計和詳細設計了。由于本設計不復雜,就不對這兩個設計分別述說了。設計中要確定程序的結構、流程、各個模塊內具體實現(xiàn)什么功能和模塊間的關系。</p><p><b> 4.1基本簡介</b></p><p> 該系統(tǒng)主要為用戶提供語音的朗讀和識別的支持,所以大致的邏輯結構是比較簡單。在3大模塊的設計下細化每個小模塊的實現(xiàn)。</p&
55、gt;<p><b> 4.2系統(tǒng)結構圖</b></p><p> 圖4.1 系統(tǒng)結構圖</p><p><b> 4.3概要設計</b></p><p> 這一部分敘述程序各個功能模塊的主要設計和頁面設計。</p><p> 4.3.1各功能模塊設計</p>
56、<p> 軟件首頁:首頁是用戶首先觀察一個軟件的最主要的接口,應該美觀大方,并且能清楚明白地鏈接到相應功能模塊。因此,首頁的排版簡單明了,主體能顯示具體詳細的功能模塊分類,這個樣給用戶的體驗會提升。</p><p><b> 語音朗讀:</b></p><p> 用戶輸入文本框:提供用戶輸入朗讀的內容,點擊文本框,會自動彈出系統(tǒng)設定好的虛擬鍵盤,給用戶
57、的輸入方便。</p><p> 讀取系統(tǒng)文件按鈕:提供用戶讀取系統(tǒng)的文本內容,遍歷讀取系統(tǒng)的文件夾名稱,然后進行讀取相關權限的文件TXT,然后輸出到TXT里面,這樣才能給后續(xù)的朗讀帶來可續(xù)性。</p><p> 語音朗讀按鈕:提供用戶朗讀識別用戶輸入和系統(tǒng)文件讀出的TXT文本;</p><p> 后退按鈕:在用戶操作過本功能后一定要給用戶一個返回的余地,所以要
58、設計一個返回的按鈕,這樣用戶,能返回主界面,然后做些其他的功能選擇。</p><p><b> 語音短信:</b></p><p> 語音短信朗讀開關:要給用戶選擇的權利,然后用戶可以選擇語音朗讀短信,當然在用戶不需要的時候可以選擇關閉。</p><p> 接受短信的號碼和接受到短信的內容:這些都需要要寫個后臺的服務,在系統(tǒng)的自帶在哪里運
59、行,對于觸發(fā)了我們設置好的短信的權限的關鍵字,然后才會攔截短信的內容,然后進行轉換輸出到界面上。</p><p> 回復短信功能:在語音朗讀了短信內容之后,用戶可以直接回復短信,不用在切換界面去回復,給用戶帶來方便。</p><p><b> 語音識別:</b></p><p> 首先確定用戶常見的應用,作為語音識別的接口,例如用戶喜歡聽
60、歌,直接呼出“音樂”就打開了相應的音樂軟件,然后就可以享受美妙的音樂。這個主要是識別的接口第一要確保數(shù)據(jù)于互聯(lián)網(wǎng)的聯(lián)通,第二服務端處理完的數(shù)據(jù)然后進行整理反饋到業(yè)務處理的類,然后進行打開相應的應用。</p><p><b> 4.4系統(tǒng)具體實現(xiàn)</b></p><p> 本系統(tǒng)基于Android平臺,使用Java語言編寫。本系統(tǒng)利用XML頁面布局工具,Eclips
61、e集成開發(fā)平臺,遵循Android架構完成整個系統(tǒng)的開發(fā)。同時用Style樣式文件控制頁面格式。</p><p> 注:篇幅限制,以及部分功能類似,以下列舉主要功能,圖片為局部核心部分。本章代碼為最終版本。</p><p> 軟件首頁如圖4.2所示。</p><p><b> 圖4.2 軟件首頁</b></p><p&
62、gt; 軟件首頁的界面的布局是:</p><p> Android平臺提供了大量的UI的構建,可以將這些小的視覺塊搭建在一起,呈現(xiàn)給用戶復雜且有用的界面,然后我們在布局當中會遇到一些問題,和難點在布局首頁的時候,Android的布局有3種方式,布局就像容器,里面可以裝下很多控件。布局里面還可以套用其他的布局。這樣就可以實現(xiàn)界面的多樣化以及設計的靈活性。本人基本選定是是線性布局和相對布局來控制軟件。</p
63、><p> RelativeLayout就是以相對的方式定位布局,允許子元素指定他們相對于其它元素或父元素的位置(通過ID指定)。因此如果第一個元素在屏幕的中央,那么相對于這個元素的其它元素將以屏幕中央的相對位置來排列。如果使用XML 來指定這個layout,在你定義它之前,被關聯(lián)的元素必須定義。相對布局的屬性比較多,但用起來比較靈活。</p><p> 語音朗讀界面如圖4.3所示。<
64、;/p><p> 圖4.3 語音朗讀界面</p><p><b> 語音朗讀核心原理:</b></p><p> 在Android 中使用語音朗讀功能 只需要使用此類 TextToSpeech ,該類實現(xiàn)了很多關于語音的功能,使用該類必須為其設置語言,支持語言列表位于java.util類里的Local 類,具體如下:</p>&
65、lt;p><b> 圖4.4朗讀核心類</b></p><p> ReadFile的核心原理:</p><p> 提速文件讀寫其原理就是讀的時候,先把文件的一些數(shù)據(jù)讀到緩沖中。這樣的好處是如果讀的內容已經(jīng)在緩沖中,就讀緩沖的數(shù)據(jù)。如果沒有,就讓緩沖先從文件讀取數(shù)據(jù),然后再從緩沖讀數(shù)據(jù)。寫操作同理.這樣的好處是減少對文件的操作次數(shù),從而達到提高性能的目的。&
66、lt;/p><p> 語音短信如圖4.5所示。</p><p> 圖4.5語音短信界面</p><p> 語音短信監(jiān)聽核心原理:</p><p> Android中可以通過設置寫一個繼承自BroadcastReceiver的Receiver來重寫,接收到短信之后的邏輯處理短信的內容然后做文字拆分,發(fā)送給相應的結構體,供語音朗讀使用。<
67、;/p><p> 語音識別啟動核心原理:</p><p> Android中主要通過RecognizerIntent來實現(xiàn)語音識別,它主要包括一些常量來表示語音的模式等,這里我們只需要通過Intent來傳遞一個動作以及一些屬性,然后通startActivityForResult來開始語音識別。</p><p><b> 4.5碰到的難點</b>
68、;</p><p> 由于剛開始是初步接觸Android開發(fā),對相關平臺不是很熟悉,所以在一開始就慢慢買書和觀看相應的視頻教程進行學習。進行Demo實例的研究和開發(fā)。后來在經(jīng)過網(wǎng)上的查閱和API函數(shù)的幫助才開始有點上手。在開發(fā)過程中,聯(lián)系人查詢和布局的開發(fā)是比較繁瑣的一個功能。雖然本人思路清晰,但是對于控件的不熟悉使這個功能在實現(xiàn)時困難重重。經(jīng)過分析,這個主要是由于時間和經(jīng)驗不足,對庫函數(shù)不熟悉造成的。對于這種
69、模式的開發(fā)缺乏認識,當學習寫了一段時間的時候,還是很容易上手了,寫起來就很快了。</p><p><b> 5系統(tǒng)測試</b></p><p><b> 5.1系統(tǒng)錯誤</b></p><p> 對于一個程序,開發(fā)雖然重要,但是測試對于一個軟件來說也是非常重要的。作為基礎的模塊,測試更是異常重要。只有通過測試,才能知
70、道自己的不足,才可以知道系統(tǒng)的漏洞,才能知道程序的漏洞。</p><p> 此程序由本人一人設計與開發(fā),在測試時會按照自己設計路線來進行測試,因此難免會有部分沒有察覺的問題。以下列出了幾個編碼過程中已解決的錯誤,原因以及解決辦法。</p><p> 5.1.1加載布局XML無效</p><p> 問題描述:在后臺代碼中加載活動的布局,此時會出現(xiàn)FC現(xiàn)象 <
71、;/p><p> 原因:因為Android的每個Activity都是要加載XML文件的,但是XML不可調式,很難發(fā)現(xiàn)這么隱藏的錯誤。</p><p> 解決方法:盡量在寫XML文件的時候,注意必要屬性的寫法,例如:android:layout_width="fill_parent"</p><p> android:layout_hei
72、ght="78.0dip"</p><p> 這兩條屬性在寫的時候要注意下,一般都是要寫的,定義高度和寬度,不寫也察覺不出來,但是就會出錯,還有就是布局的邏輯結構要合理。這個是解決大部分XML錯誤。</p><p> 5.1.2短信截斷無效</p><p> 問題描述:邏輯代碼都沒有問題,測試發(fā)送了短信就是截取不到短信的內容。</p&
73、gt;<p> 原因:是沒有在AndroidManifest.xml沒有注冊代碼</p><p> 解決方法: 在XML文件中加上這個權限的申明</p><p> <uses-permission Android:name="Android.permission.RECEIVE_SMS"/></p><p> 很
74、多的Android的Acvitity的活動都是需要申明權限的,例如電話,發(fā)送短信這些都是需要的。</p><p> 5.1.3語音識別中文無效</p><p> 問題描述:語音識別出來的中文漢字是無效的,對于后續(xù)的應用開發(fā)就不能打開指定的Acvitity了。</p><p> 原因:在Android系統(tǒng)中的文字編碼有存在問題做下轉碼就好了。</p>
75、<p><b> 解決方法:轉碼函數(shù)</b></p><p> public String change(String str){</p><p> String tempStr=null;</p><p><b> try {</b></p><p> tempStr =
76、 new String (str.getBytes(),"gb2312");</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> return tempStr;&l
77、t;/p><p><b> }</b></p><p> 5.1.4系統(tǒng)資源找不到</p><p> 問題描述:在寫代碼的時候想要調用系統(tǒng)的配置好的string活著是資源文件的時候,現(xiàn)實系統(tǒng)錯誤,資源包引入不進來.</p><p> 原因:這個可能是ADT的一個BUG,要寫完代碼最好反復編譯過,或者是clean一下,
78、這個系統(tǒng)會默認的重新尋找一遍資源文件。</p><p> 解決方法:Eclipse->Project->clean,或者直接Build項目,就能解決這個問題。</p><p> 5.1.5短信服務截取消息傳送問題</p><p> 問題描述:短信服務的數(shù)據(jù)截取到后,內容取到,但是沒有傳送過來。</p><p> 原因:在A
79、ndroid的傳遞數(shù)據(jù)的過程當中對他的Acvitity的本質沒有了解清楚</p><p> 解決方法:i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);在代碼重要加入這句話,給Acvitity開一個新的棧區(qū)</p><p><b> 5.2系統(tǒng)優(yōu)化</b></p><p> 5.2.1 XML布局優(yōu)化&l
80、t;/p><p> 問題描述:軟件的前期界面的布局存在問題,排版非常不好看,存在加載效率問題</p><p> 原因:采用線性布局的布局,在后期的調整是非常麻煩,所以選定了RelativityLayout布局的方式 </p><p> 解決方法:在布局的時候都是用相對布局的方式進行, 圖片和Style都是寫在相關的配置XML里面,這樣方便修改!</p>
81、<p><b> 舉例代碼:見附件</b></p><p> 5.2.2代碼提示String修改優(yōu)化</p><p> 問題描述:當代碼寫死的一個Sring代碼,想去修改的時候,找到這個代碼很麻煩,對于今后的維護造成一定的困擾。</p><p> 原因:因為代碼寫死在冗長的邏輯代碼中,給后續(xù)的維護造成困難。 </p&
82、gt;<p> 解決方法:配置成XML文件,然后在定義的XML文件中加載相應的string的字符串,這個也是Android開發(fā)的一個非常好的有點,這個對全球化的軟件是非常重要的。</p><p><b> 6總結與展望</b></p><p> 隨著移動互聯(lián)網(wǎng)的快速發(fā)展和手機上網(wǎng)用戶的快速增長,高端智能手機也逐漸受人們青睞,未來的手機應用會出現(xiàn)越來
83、越多的“說”的手機應用,本課題只是做的初步的探索。</p><p><b> 6.1論文總結</b></p><p> 設計和開發(fā)一個最基本的基于Android的軟件并且是關于語音方向的,這個在現(xiàn)代的無線領域的發(fā)展是非??焖俚摹Mㄟ^這次畢業(yè)設計,本人從中學到了許多新的知識,而且通過這次畢業(yè)設計,培養(yǎng)了本人綜合多門學科中的知識、迅速規(guī)劃并開發(fā)出目標系統(tǒng)的能力,同時讓
84、本人的編程能力也有了很大的提高。另外也有許多心得體會,所謂系統(tǒng)開發(fā)如人生百味,酸甜苦辣皆有之。</p><p> 回顧設計開發(fā)過程,總結起來就是軟件的開發(fā)是相當辛苦的,但成功以后的喜悅也是非常美妙的,而且本人發(fā)現(xiàn),其中投入的心血越多,成功以后你所獲得的快樂與充實感也更多更強。</p><p><b> 6.2研究展望</b></p><p>
85、; 對消費者而言,增加了高檔智能手機選擇面,不一定要從iphone和symbian中選擇。在Android設計初期考慮了與現(xiàn)有業(yè)務的融合,例如google地圖及其衍生應用、Gmail、GTalk等都是以手機使用為向導,為消費者生活帶來了極大的方便。GPS衛(wèi)星導航功能,手機照相,MP3,藍牙等均被列為Android所提供支持的基本選項。</p><p> 對手機制造商而言,Android是款開源的移動計算機軟件
86、平臺,組建了google主導的擁有眾多產(chǎn)業(yè)界巨頭的產(chǎn)業(yè)聯(lián)盟,有利于高效開發(fā)、降低成本。由于是開源產(chǎn)品,對非主導廠商而言,可以避開與主導廠商在核心技術上面的差距,開發(fā)出更具競爭力和差異化的產(chǎn)品。</p><p> 語音朗讀器核心語音合成技術在未來可以實現(xiàn)來電播報、短信播報、電子書朗讀以及語音提醒、語音報時等功能,通過語音識別實現(xiàn)語音撥號、語音檢索、語音命令操作手機等功能,朗讀效果清晰、自然,語音識別效率高、反應快
87、、實用性強。這些才是未來社會的發(fā)展核心。</p><p> 隨著移動互聯(lián)網(wǎng)的快速發(fā)展和手機上網(wǎng)用戶的快速增長,高端智能手機也逐漸受人們青睞。而高端手機市場的競爭除了品牌效應和售后服務外,更重要的是操作系統(tǒng)的性能和穩(wěn)定性。Android操作系統(tǒng)以其特有的開源優(yōu)勢和系統(tǒng)架構為廣大消費者、供應商、運營商、手機開發(fā)者帶來了極大的方便。</p><p> 隨著科技的快速發(fā)展和3G時代的到來,智能
88、化、人性化已成為了手機發(fā)展的主要方向?!澳苈爼f”功能為手機行業(yè)帶來了革命性變化,徹底改變了人與手機之間的交互方式,使人與手機之間的“溝通”變得更加自然與順暢。</p><p><b> 參考文獻</b></p><p> [1]蓋索林,Google Android 開發(fā)入門指南(第2版)[M],人民郵電出版社,2010 :22~35.</p>&l
89、t;p> [2] 余志龍等著.Google Android SDK開發(fā)案例大全[M].人民郵電出版社,2009 :65~34.</p><p> [3] 姚昱旻,劉衛(wèi)國.Android的架構與應用開發(fā)研究[J].計算機系統(tǒng)應用,2008,(11) :76~115.</p><p> [4] 陳璟,陳平華,李文亮.Android內核分析[J].現(xiàn)代計算機,2009,(11):11
90、2~115.</p><p> [5] 公磊,周聰.基于Android 的移動終端應用程序開發(fā)與研究[J].計算機與現(xiàn)代化,2008,(8):86~89.</p><p> [6] 吳亞峰,索依娜.Android核心技術與實例詳解[M].電子工業(yè)出社,2010:112~115.</p><p> [7] 楊豐盛.Android應用開發(fā)揭秘[M].機械工業(yè)出版社
91、,2010:87~115.</p><p> [8] 田俊靜,張波,黃湘情.Android基礎教程(第三版)[M].人民郵電出版社,2010:244~255.</p><p> [9] 韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].電子工業(yè)出版社,2010:222~243.</p><p> [10] 張仕成.基于Google Android平臺的應
92、用程序開發(fā)與研究[J].電腦知識與技術,2009 :152~175.</p><p> [11] 吳軍,周轉運.嵌入式系統(tǒng)應用基礎與開發(fā)案例[M].人民郵電出版社,2007:112~115.</p><p> [12] 田森,李大和.用Android開發(fā)手機應用[J].程序員,2008,(1):25~27.</p><p> [13] Tor-Morten G
93、rønli,Jarle Hansen,Gheorghita Ghinea,Android vs Windows Mobile vs Java ME[J],2010 ACM,1-8</p><p> [14] Bruce Eckel, thinking in java 3rd edit[M], Prentice Hall PTR, 2002:155~176.</p><p>&l
94、t;b> 致謝</b></p><p> 經(jīng)歷幾個月的學習和研究,終于初步完成了Android平臺語音系統(tǒng)的編寫工作,對幫助過本人的老師、同學表示由衷的感謝。</p><p> 首先,要感謝導師XXX老師,在整個畢業(yè)設計的過程中,給予本人悉心的指導,幫助本人完成畢業(yè)設計。胡老師一絲不茍的工作精神、嚴謹?shù)闹螌W態(tài)度以及耐心的輔導都給人留下了深刻的印象。在此,衷心感謝胡老
95、師幾個月來的教導和關懷。</p><p> 其次,要感謝本人的班主任高巍老師,他對每一位學生的關心都顯得那么平凡,也感謝他指導本人對人對事的方法。</p><p> 再次,要感謝在畢業(yè)設計過程中給予幫助的同學,他們的鼓勵與幫助,讓本人能夠堅持不懈地努力。</p><p> 最后,向評審本論文及參加論文答辯的各位老師表示衷心的感謝和誠摯的敬意。</p>
96、;<p><b> 附錄</b></p><p> //頁面布局優(yōu)化舉例</p><p> <?xml version="1.0" encoding="UTF-8"?></p><p> <LinearLayout Android:orientation="
97、;vertical" Android:id="@+id/Run" </p><p> Android:paddingTop="5.0dip" </p><p> Android:layout_width="wrap_content" </p><p> Android:layout_heig
98、ht="wrap_content"</p><p> Android:background="@drawable/background_generic"</p><p> xmlns:Android="http://schemas.Android.com/apk/res/Android"></p><
99、p> <RelativeLayout Android:id="@+id/read" </p><p> Android:paddingLeft="5.0dip" </p><p> Android:paddingRight="5.0dip" </p><p> Android:layou
100、t_width="fill_parent"</p><p> Android:layout_height="78.0dip"</p><p> Android:clickable="true"</p><p> Android:focusable="true"</p>
101、<p> style="@style/Card.Full"></p><p> <TextView Android:id="@+id/FreeTitle" </p><p> Android:layout_width="wrap_content" </p><p> Andr
102、oid:layout_height="wrap_content"</p><p> Android:text="@string/read_text_title"</p><p> style="@style/RunTitle"/></p><p> <TextView Android:te
103、xt="語音朗讀,我是小助手" </p><p> Android:layout_width="wrap_content" </p><p> Android:layout_height="wrap_content"</p><p> Android:layout_below="@+id/F
104、reeTitle" </p><p> Android:layout_alignLeft="@+id/FreeTitle" </p><p> style="@style/RunSubtitle" /></p><p> <ImageView style="@style/ArrowNext
105、" /></p><p> </RelativeLayout></p><p> <RelativeLayout Android:id="@+id/message" </p><p> Android:paddingLeft="5.0dip" </p><p>
106、 Android:paddingRight="5.0dip" </p><p> Android:layout_width="fill_parent"</p><p> Android:layout_height="78.0dip"</p><p> Android:clickable="t
107、rue"</p><p> Android:focusable="true"</p><p> style="@style/Card.Full"></p><p> <TextView Android:id="@+id/FreeTitle2" </p><p&
108、gt; Android:layout_width="wrap_content" </p><p> Android:layout_height="wrap_content"</p><p> Android:text="@string/message_text_title"</p><p> sty
109、le="@style/RunTitle"/></p><p> <TextView Android:text="語音朗讀,我是小助手" </p><p> Android:layout_width="wrap_content" </p><p> Android:layout_height
110、="wrap_content"</p><p> Android:layout_below="@+id/FreeTitle2" </p><p> Android:layout_alignLeft="@+id/FreeTitle2" </p><p> style="@style/RunSu
111、btitle" /></p><p> <ImageView style="@style/ArrowNext" /></p><p> </RelativeLayout></p><p> <RelativeLayout Android:id="@+id/car" </
112、p><p> Android:paddingLeft="5.0dip" </p><p> Android:paddingRight="5.0dip" </p><p> Android:layout_width="fill_parent"</p><p> Android:la
113、yout_height="78.0dip"</p><p> Android:clickable="true"</p><p> Android:focusable="true"</p><p> style="@style/Card.Full"></p>&l
114、t;p> <TextView Android:id="@+id/FreeTitle3" </p><p> Android:layout_width="wrap_content" </p><p> Android:layout_height="wrap_content"</p><p>
115、 Android:text="語音識別" </p><p> style="@style/RunTitle"/></p><p> <TextView Android:text="語音朗讀,我是小助手" </p><p> Android:layout_width="wrap_
116、content" </p><p> Android:layout_height="wrap_content"</p><p> Android:layout_below="@+id/FreeTitle3" </p><p> Android:layout_alignLeft="@+id/FreeTi
117、tle3" </p><p> style="@style/RunSubtitle" /></p><p> <ImageView style="@style/ArrowNext" /></p><p> </RelativeLayout></p><p>
118、 <RelativeLayout Android:id="@+id/Info" </p><p> Android:layout_width="fill_parent" </p><p> Android:layout_height="wrap_content"></p><p> &l
119、t;TextView Android:textColor="@color/blue_pressed_white" </p><p> Android:gravity="center" </p><p> Android:id="@+id/InfoAbout" </p><p> Android:pad
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機軟件技術專業(yè)畢業(yè)論文
- 淺議計算機軟件工程管理
- 關于計算機軟件工程的分析思考
- 芻議計算機軟件工程管理的特點
- 計算機軟件工程管理與應用解析
- 計算機軟件工程進度控制研究
- 如何優(yōu)化計算機軟件工程管理的分析
- 關于計算機軟件工程的研究與應用
- 關于優(yōu)化計算機軟件工程管理的思考
- [教育]語音處理與語音識別簡介_計算機軟件及應用_it計算機_專業(yè)資料
- 畢業(yè)論文----淺析計算機軟件法律保護
- 基于android平臺的phonegap研究-軟件工程動漫方向畢業(yè)論文
- 基于android平臺的phonegap研究-軟件工程動漫方向畢業(yè)論文
- 如何創(chuàng)新和完善計算機軟件工程管理
- 基于android平臺的phonegap研究-軟件工程動漫方向畢業(yè)論文
- 計算機軟件工程的維護措施和方法研究
- 基于android平臺的計步器的設計與實現(xiàn)-軟件工程畢業(yè)論文
- 計算機軟件與理論專業(yè)
- 計算機軟件開發(fā)畢業(yè)論文---基于web的綜合測評系統(tǒng)
- 淮陰師范學院計算機科學與技術(軟件工程)專業(yè)畢業(yè)論文(設計)
評論
0/150
提交評論