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