基于Linux平臺的網(wǎng)絡(luò)廣告機的設(shè)計
3 關(guān)鍵算法設(shè)計
3.1 數(shù)據(jù)庫設(shè)計
根據(jù)廣告機監(jiān)控終端所監(jiān)控媒體種類的不同,使用Sqlite3數(shù)據(jù)庫維護(hù)媒體視頻播放、圖片背景和Qt字幕的信息。數(shù)據(jù)庫原理見參考文獻(xiàn)。對于廣告機監(jiān)控管理員以及管理者的身份,需要設(shè)計管理者的ID、登錄密碼和對應(yīng)的用戶名信息,以便對廣告機的監(jiān)控和管理。就視頻和圖片媒體而言,都涉及對相應(yīng)媒體對象的插入、刪除、更新和播放順序等控制操作,因此分別設(shè)置ID、文件名、加入時間和排序序號來進(jìn)行相應(yīng)的維護(hù)和控制管理。對應(yīng)的數(shù)據(jù)庫設(shè)計原理圖如圖3所示。本文引用地址:http://www.ex-cimer.com/article/150850.htm
3.2 廣告機顯示終端
廣告機顯示終端的Qt圖形界面原理如圖4所示。Qt界面的設(shè)計原理見參考文獻(xiàn)。開發(fā)板通電之后,主程序程序開始執(zhí)行,Mplayer媒體播放器讀取存儲在開發(fā)板上的視頻文件進(jìn)行循環(huán)播放,同時將監(jiān)聽自己的本地套接字。當(dāng)網(wǎng)絡(luò)通信模塊將控制終端傳來的控制命令寫到Mplayer播放程序的本地套接字之后,Mplayer將根據(jù)控制命令執(zhí)行相應(yīng)的響應(yīng),如暫停、播放下一首、重頭開始播放等。Qt圖形界面程序開始執(zhí)行時,先讀取本地圖片文件和文本文件,進(jìn)行循環(huán)播放。同時,Qt圖形界面程序的監(jiān)聽命令線程將監(jiān)聽Qt圖形界面的本地套接字。當(dāng)接到控制命令時,Qt圖形界面程序?qū)?zhí)行相應(yīng)的操作,如關(guān)閉、打開、更新滾動字幕等。
本地套接字與本地TCP Socket Server端進(jìn)行通信,并將相關(guān)控制命令最終上傳,而本地TCP Socket Server命令則是來源于控制中心TCP Socket Client端對控制命令的上傳。本地Socket Server套接字的部分控制代碼如下:
linux相關(guān)文章:linux教程
評論