危鑫++胡湘娟++陽泳
摘 要:介紹基于嵌入式linux的多媒體播放器的設(shè)計(jì)與實(shí)現(xiàn),設(shè)計(jì)使用的是linux系統(tǒng)內(nèi)核,其核心播放程序?yàn)閙player可執(zhí)行程序,解碼庫為libmad。整個系統(tǒng)的硬件部分以S3C2440開發(fā)板作為測試儀主體,TFT-LCD觸摸屏按鍵及物理按鍵做為控制器。在為開發(fā)板搭建好環(huán)境后,編寫主程序、觸屏驅(qū)動程序以及播放器各種功能的觸發(fā)函數(shù),制作操作界面等等。最后達(dá)到了觸屏操作多媒體播放器,并實(shí)現(xiàn)各種功能。通過實(shí)際的測試應(yīng)用,證明該軟件硬件運(yùn)行良好,能滿足設(shè)計(jì)的要求,為嵌入式多媒體播放器的設(shè)計(jì)提供了參考。
關(guān)鍵詞:嵌入式 多媒體播放器 移植 ARM920T
中圖分類號:TP332 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)11(a)-0075-02
多媒體是計(jì)算機(jī)和視頻技術(shù)的結(jié)合,實(shí)際上它是兩個媒體;聲音和圖像,或者用現(xiàn)在的術(shù)語:音頻和視頻。多媒體技術(shù)和所有現(xiàn)代技術(shù)一樣本身有兩個方面,它是由硬件和軟件,或機(jī)器和思想混合組成。多媒體之所以能夠?qū)崿F(xiàn)是依靠數(shù)字技術(shù),多媒體代表數(shù)字控制和數(shù)字媒體的匯合,電腦是數(shù)字控制系統(tǒng),而數(shù)字媒體是當(dāng)今音頻和視頻最先進(jìn)的存儲和傳播形式。事實(shí)上有人就簡單地認(rèn)為多媒體是電腦和電視的結(jié)合。電腦的能力達(dá)到實(shí)時處理電視和聲音數(shù)據(jù)流的水平,這時多媒體就誕生了。多媒體電腦需要具有比主流電腦更強(qiáng)的能力,多媒體電腦決定了主流電腦的發(fā)展。
在日常生活中,多媒體播放器已經(jīng)成為必不可少的一部分了,但一款優(yōu)秀的播放器卻經(jīng)常因?yàn)椴僮鳝h(huán)境、源碼不開放等原因而不能被人們廣泛認(rèn)識、使用,這是我們的損失。所以,多媒體播放器的跨平臺移植擁有非常好的市場前景。
一款跨平臺的多媒體播放器就顯得尤為強(qiáng)大,本論文針對基于Linux的嵌入式多媒體播放器設(shè)計(jì)和實(shí)驗(yàn)進(jìn)行了研究,設(shè)計(jì)主要任務(wù)是將一款Linux下的Mplayer多媒體播放器從電腦上移植到另一個工作平臺上,而不是讓一款優(yōu)秀的軟件局限在一個狹小的領(lǐng)域,實(shí)現(xiàn)一款軟件可以跨平臺獨(dú)立運(yùn)行的效果。同時為多媒體播放器的設(shè)計(jì)提供了參考。
1 嵌入式系統(tǒng)與多媒體播放器
嵌入式系統(tǒng)及其技術(shù)是計(jì)算機(jī)技術(shù)、通信技術(shù)、半導(dǎo)體技術(shù)、微電子技術(shù)、語音圖像數(shù)據(jù)傳輸技術(shù)等先進(jìn)技術(shù)應(yīng)用于具體設(shè)備產(chǎn)品的關(guān)鍵系統(tǒng)和技術(shù)[1]。在當(dāng)前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC時代,嵌入式系統(tǒng)已經(jīng)滲透到各領(lǐng)域[2]。隨著芯片技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的性能逐步提高,功能也越來越豐富。嵌入式系統(tǒng)在眾多領(lǐng)域的應(yīng)用給我們的生活帶來了便利,并且對人們的生活方式的改變和生活質(zhì)量的提高具有重要的影響。在這些領(lǐng)域中,消費(fèi)電子產(chǎn)品的應(yīng)用具有更為廣泛的潛力,尤其是便攜式消費(fèi)電子產(chǎn)品。
隨著音頻解碼技術(shù)、存儲器技術(shù)、MP3高質(zhì)量壓縮技術(shù)等相關(guān)技術(shù)不斷的發(fā)展以及人們對消費(fèi)電子產(chǎn)品需求的增加,MP3 新產(chǎn)品層出不窮,成為時尚潮流前沿的一個最佳載體。在MP3數(shù)碼隨身聽取得巨大的市場成功后,支持視頻的便攜式播放器逐漸進(jìn)入消費(fèi)者的視線,成為繼MP3之后的新一代數(shù)碼影音娛樂平臺。受MP3的影響,人們習(xí)慣的將這一類嵌入式多媒體系統(tǒng)稱做MP4。
2 基于Linux的Mplayer多媒體播放器設(shè)計(jì)
基于Linux的Mplayer多媒體播放器設(shè)計(jì)任務(wù)是要求從電腦上將多媒體播放器的內(nèi)容移植到另一個工作平臺上,實(shí)現(xiàn)一款軟件可以跨平臺運(yùn)行的效果。設(shè)計(jì)最終要達(dá)到在新工作平臺的觸屏控制軟件實(shí)現(xiàn)軟件在原開發(fā)環(huán)境下的等同功能的效果,可以流暢播放視頻音頻文件,顯示歌曲信息,顯示同步歌詞和歌曲列表等。
設(shè)計(jì)分為兩大部分,即軟件部分和硬件部分。其中軟件部分包含經(jīng)過ARM編譯的Mplayer可執(zhí)行程序,觸屏操作的源代碼,以及l(fā)inux操作系統(tǒng),Bootloader,內(nèi)核,根文件,arm-linux-gcc交叉編譯工具鏈,Windows自帶的超級終端,燒錄工具軟件等。
硬件部分包括S3C2440開發(fā)板,LCD觸摸屏,串口線,并口線,5V直流電源,帶串并口的PC機(jī)。
3 硬件接口配置
圖1為本次設(shè)計(jì)的多媒體平臺的硬件框圖,采用TFT-LCD作為主控制器,S3C2440開發(fā)板作為處理器,通過觸摸屏采集參數(shù)變量,LCD觸屏將參數(shù)變量通過TFT排線傳輸進(jìn)入主程序建立的用于接受參數(shù)變量的線程,芯片中的主程序根據(jù)獲得的變量,運(yùn)行對應(yīng)的進(jìn)程或結(jié)束相應(yīng)的進(jìn)程。系統(tǒng)通過相應(yīng)的音頻驅(qū)動使揚(yáng)聲器,LCD模塊正常工作起來。
在設(shè)計(jì)的前期,要使用到串口并口進(jìn)行Bootloader,kernel,root的燒寫[3]。網(wǎng)絡(luò)模塊用來掛載特制的根文件系統(tǒng),這樣可以方便程序的調(diào)試。USB接口用來掛載U盤。應(yīng)用時,保證TFT-LCD接到開發(fā)板上,將USB-UART線接到電腦USB接口上,U盤插到開發(fā)板上,接好揚(yáng)聲器和電源。然后通過電腦的超級終端進(jìn)行程序激活,程序啟動成功后就可進(jìn)行觸屏操作了。
4 多媒體播放器運(yùn)行結(jié)果
完成多媒體播放器的軟硬件兩部分設(shè)計(jì),成功移植[4]后,就可以通過觸屏進(jìn)行播放器的控制。以音頻格式多媒體播放器為例,在人機(jī)交互界面中所有的歌曲名字顯示在歌曲列表窗口中,當(dāng)前播放歌曲的名字在列表中用矩形框反顯。通過點(diǎn)擊播放列表中歌曲的名字即實(shí)現(xiàn)切換歌曲。切換歌曲的時候,播放列表中的相應(yīng)歌曲名字要反顯,同時在屏幕上顯示歌曲長度、當(dāng)前播放到多少秒、當(dāng)前歌曲的“專輯、歌手、標(biāo)題、發(fā)行年份”等信息、播放進(jìn)度條以及同步歌詞循環(huán)顯示。
通過實(shí)際的測試應(yīng)用,證明該軟件硬件運(yùn)行良好,能滿足設(shè)計(jì)的要求。其實(shí)現(xiàn)的功能總結(jié)如下:
(1)顯示歌曲信息。
(2)顯示同步歌詞。
(3)顯示歌曲列表。
(4)當(dāng)前播放歌曲名字反顯。
(5)顯示當(dāng)前播放進(jìn)度。
(6)實(shí)現(xiàn)mp3文件的播放/暫停、上一首、下一首、快進(jìn)、快退。
(7)觸屏操作多媒體播放器,實(shí)現(xiàn)對各種功能的控制和操作。
5 結(jié)語
嵌入式系統(tǒng)是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。嵌入式多媒體播放器是嵌入式系統(tǒng)技術(shù)的一個典型應(yīng)用。
本設(shè)計(jì)屬于近年新興的嵌入式多媒體播放器領(lǐng)域課題。以ARM9處理器為核心建立嵌入式多媒體系統(tǒng),并在其上移植Mplayer播放器,擴(kuò)展其功能,完成硬件的定制,程序的設(shè)計(jì)并通過多次的調(diào)試與完善以測試其媒體播放功能,進(jìn)而編寫基于TFT的嵌入式人機(jī)交互操作界面。
該文作者創(chuàng)新點(diǎn):(1)設(shè)計(jì)是基于S3C2440的嵌入式系統(tǒng),并且完成了MPlayer移植,實(shí)現(xiàn)了圖形化操作;(2)具有液晶顯示及觸屏控制功能;(3)能夠?qū)⒁豢頛inux下的Mplayer多媒體播放器從電腦上移植到另一個工作平臺上,實(shí)現(xiàn)一款軟件可以跨平臺獨(dú)立運(yùn)行的效果;(4)MP3、WMA等多種音頻格式都能在音頻格式多媒體播放器上流暢地播放。
而基于嵌入式linux的多媒體播放器的設(shè)計(jì)與實(shí)現(xiàn)還有待完善和發(fā)展,真正實(shí)現(xiàn)音頻視頻多種格式的多媒體播放,還可以增加其他附加功能。
參考文獻(xiàn)
[1] 于明,范書瑞,曾祥燁.ARM9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)教程[M].北京:電子工業(yè)出版社,2006:280-315.
[2] 李年攸.基于Linux的多媒體播放器的軟件設(shè)計(jì)與實(shí)現(xiàn)[J].三明學(xué)院學(xué)報(bào),2009,26(4):391-395.
[3] 鄒思鐵.嵌入式Linux設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[4] 劉玉萍.Mplayer的嵌入式移植[J].西南民族大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,2011,20(1):106-109.endprint