Nucleus系統(tǒng)的移動終端錄音功能設(shè)計
3 錄音功能設(shè)計
3.1 軟件設(shè)計
手機(jī)錄音的主要功能是向用戶提供使用界面、完成錄音及錄音文件的播放。從程序設(shè)計的角度看,它是通過對現(xiàn)有軟件中的人機(jī)界面、操作系統(tǒng)API的調(diào)用和對音頻設(shè)備的管理來實現(xiàn)的。整個錄音事件處理函數(shù)的執(zhí)行流程如圖3所示。
錄音功能的事件處理模塊的主要功能是對人機(jī)界面的錄音請求進(jìn)行響應(yīng)。為了實現(xiàn)該功能,錄音事件函數(shù)需要完成的工作包括:運(yùn)行控制變量的初始化,錄音文件的創(chuàng)建,事件狀態(tài)處理器的判斷和狀態(tài)維護(hù),進(jìn)行容錯處理,調(diào)用底層處理函數(shù)進(jìn)行錄音物理設(shè)備的控制,以及和界面模塊的通信。
3.2 軟件調(diào)試
由于移動終端的系統(tǒng)資源有限而且沒有相關(guān)的編譯工具,因此嵌入式系統(tǒng)的開發(fā)需要借助宿主機(jī)(通用計算機(jī))來編譯出目標(biāo)機(jī)的可執(zhí)行代碼,交叉編譯是唯一可行的編譯方式。在PC機(jī)上設(shè)置serial port,把功能實現(xiàn)代碼分配到整個手機(jī)軟件功能的plutommi、media和llaudio文件夾下,通過使用編譯命令對各個文件夾進(jìn)行編譯來生成可執(zhí)行程序并下載到手機(jī)的NOR Flash中,然后在CPU中運(yùn)行。
錄音部分的軟件進(jìn)行錄音、錄音暫停、繼續(xù)錄音、播放錄音5個事件處理時,軟件運(yùn)行過程中錄音軟件內(nèi)部的跟蹤程序通過UART口打印出來的錄音軟件動態(tài)運(yùn)行信息。當(dāng)特定的按鍵事件發(fā)生后,錄音界面模塊就會向其事件處理模塊發(fā)送相應(yīng)的消息,來完成事件的處理。當(dāng)事件開啟后驅(qū)動模塊便與其事件處理模塊進(jìn)行錄音文件中的數(shù)據(jù)交互。結(jié)合對錄音軟件人機(jī)界面的仿真測試結(jié)果,可以證明整個錄音軟件播放部分代碼的設(shè)計達(dá)到了預(yù)期目標(biāo)。
結(jié) 語
隨著移動通信的不斷發(fā)展以及在相應(yīng)的嵌入式平臺上擴(kuò)展出來的新技術(shù)不斷涌現(xiàn),移動設(shè)備中的媒體播放功能就顯得尤為重要。本文系統(tǒng)地分析了AMR編解碼原理及相關(guān)的錄音流程,結(jié)合錄音和播放功能的測試數(shù)據(jù)以及對數(shù)據(jù)的分析結(jié)果,可明確看到整個錄音軟件運(yùn)行正確。軟件的運(yùn)行情況和軟件的整體設(shè)計相一致。
評論