沈宏 高晶
摘 要:便攜式識字系統(tǒng)是針對學齡前兒童輔助學習而設計的一款識字軟件,安裝到目標平臺ARM系列的Pocket PC上。用戶可以按照欄目分類自主選擇操作內容,可以觀看精彩的動畫、優(yōu)美的圖片、有意寓的故事,并且可以在線朗讀錄音、反復練習。本文闡述了在Windows CE平臺上完成這樣的便攜式識字軟件的設計過程。
關鍵詞:便攜式識字軟件 Windows CE平臺 軟件設計
中圖分類號:G71 文獻標識碼:A 文章編號:1672-3791(2013)03(a)-0006-01
文字是學齡前兒童主要的學習內容之一,傳統(tǒng)的文字學習主要依靠識字卡、書本、黑板等,學習比較枯燥、學習成本比較高。在21世紀,在信息技術、計算機技術、網絡技術高速發(fā)展的時代,學習方式也發(fā)生了很大的變化。本文主要講述了利用Windows CE平臺開發(fā)的便攜式識字系統(tǒng),為幼兒的識字學習提供了一套生動的學習軟件。
在這套系統(tǒng)中,支持多種規(guī)模的音庫,滿足各類需求;支持合成語音的不同采樣率、比特率、格式輸出;支持動態(tài)音頻參數(shù)規(guī)劃;支持流式文本輸入;支持進度通知;支持同步回顯拼音輸出;全新架構,具有高可靠的穩(wěn)定性。便攜式識字系統(tǒng)以獨立發(fā)布軟件的形式,用戶可以按照分類目錄自主選擇學習內容,并通過反復錄制/播放用戶朗讀的語音來完測試。家長也可以把每次的學習結果和體驗心得記到記事錄中,可以隨時查閱記事錄,并切換到上一次的學習界面繼續(xù)學習。
1 Windows CE 嵌入式操作系統(tǒng)
Windows CE是微軟公司嵌入式、移動計算平臺的基礎,它是一個開放的、可升級的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設備操作系統(tǒng)。WinCE.net是微軟公司將.net戰(zhàn)略推向移動嵌入式領域的重要舉措,具有很多優(yōu)勢:可以模塊化開發(fā),可以進行個性定制;可以多硬件平臺支持和網絡、多媒體和多語言支持;有強大的開發(fā)工具;穩(wěn)健的實時性的支持,支持嵌套中斷、允許更高優(yōu)先級的中斷首先得到響應,更好的線程響應能力,更多的優(yōu)先級別,更強的對線程的控制能力。
2 便攜式識字系統(tǒng)
2.1 便攜式識字系統(tǒng)功能結構圖(如圖1)
實現(xiàn)語音識別訓練功能。用戶進入主菜單頁面時,選擇語音識別界面,進入后按照單元學習生字,并可以跟讀,系統(tǒng)錄音,回放,并觀看語音評分。在此功能中,還可以實現(xiàn)用戶的回顧學習記事。家長可以根據(jù)幼兒的學習過程進行記錄,并可以瀏覽過去的記事內容,修改日志的評語,刪除某一記事記錄或者清空所有記錄,可以直接跳轉到某一記錄所指向的學習界面,繼續(xù)未完成的學習。
2.2 應用系統(tǒng)的開發(fā)
2.2.1 系統(tǒng)顯示多窗口設計
Pocket PC平臺的界面有限,而且窗口沒有最小化圖標,多視圖的轉換是一個棘手的問題。
在MFC工程中,程序的入口是CWinAPP的實例,這里取名為CALLE nglishAPP,由它生成框架類實例MainFrame以及文檔類實例CALLEng lishDoc。MainFrame下并列三個界面,分別是主界面MainView、回顧記事界面MemoView和幫助引導界面TutorialView。由CALLEnglishAPP來響應用戶切換這三個界面的請求,動態(tài)地構造界面。
在MainFrame下生成包括主視圖在內的4個一級視圖。這4個一級視圖間通過MainFrame的SwitchView函數(shù)控制切換,同時讓context參數(shù)保留各視圖上下文的信息,實現(xiàn)了多視圖與單一文檔的對應。
一級視圖以下,統(tǒng)一使用了彈出式對話框CDialog類來實現(xiàn)復雜的視圖調用,對話框中直接實例化數(shù)據(jù)庫引擎,當關閉對話框時要及時釋放這些實例對象所占用的內存。
2.2.2 語音識別
使用包的封裝來完成語音識別,三個包分別用來訪問.dbf數(shù)據(jù)庫文件,訪問.dat實驗室自定義語音集成文件,以及完成錄放音任務。
(1)DBEngine Package
自定義數(shù)據(jù)庫引擎包DBEngine有3個對象類和一個結構體。DBTable用于訪問.dbf數(shù)據(jù)庫文件,將文件描述的表格字段信息存放到DBField結構體中,搜索文件獲得的記錄數(shù)內容存入界面類的一個字節(jié)塊RecordSet中;DBRecord可以對這個字節(jié)塊進行操作,比如可以從中取出一個記錄、或一個記錄的某個字段信息等;DBProp是針對這個具體的字段信息的操作,比如可以取出其中的值。
(2)DatFile Package
DatFile包用于訪問物理內存上的課件語音材料文件。CDatFile負責讀出.dat語音集成文件中指定順序號的句子語音數(shù)據(jù),SampleWaveFile負責訪問用戶剛剛錄制完畢保存的采樣語音文件。
(3)WaveThread包封裝了兩個與波形音頻設備有關的用戶界面線程類。ThreadPlay專用來播放語音,ThreadRecord專用來錄制語音。
2.2.3 動畫界面的設計
畫法:在制作Flash動畫的源文件中獲取需要的場景圖片,在Windows CE應用程序中對這些圖片加以組合和適時播放,達到動畫效果。
(1)某一矩形區(qū)域只有一個動畫動作。這種情況比較簡單,只要把圖片疊加即可。
(2)某一矩形區(qū)域涉及到多個動畫動作。如果是在程序中直接繪制的圖形,當然可以利用圖層及透明位圖來實現(xiàn)多個動畫動作的疊加;但是現(xiàn)在用的是圖片,所以要把所有兩個動畫動作疊加可能的情況都截一幅圖。
在Windows CE平臺上實現(xiàn)聲音、圖片、影片等多媒體文件的播放和顯示是一個循序漸進的發(fā)展過程,經歷了由底層設備接口函數(shù)調用到ActiveX控件的短期飛躍。本文簡要描繪了一個英語學習軟件WinCE3.0版的整體模塊封裝設計思想,希望在生字學習過程中,這種便攜式的小型設備上的自主學習軟件能起到大的作用,成為學校教學的有益補充。
參考文獻
[1] Windows CE程序員指南[美].1版.微軟公司希望圖書創(chuàng)作室,1999,9.
[2] 維亞·卡拉姆切蒂.分布式系統(tǒng)中的自動配置和運行自適應[J].方澤昌,譯.第九次IEEE高性能分布式計算研討會,2000,8.
[3] 杰夫·克萊默,杰夫·馬吉,莫里斯·斯羅曼,等.在REX中基于對象的分布式程序配置[J].IEEE軟件工程期刊,1992,3,7(2):139-149.