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