999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Mplayer 的一種設計方法

2013-08-16 06:12:50張春平
科技視界 2013年1期
關鍵詞:進程功能

張春平

(石家莊職業技術學院,河北石家莊050081)

1 介紹

在嵌入式軟件開發學習過程中,教師會安排很多小的項目來驗證學習者階段學習的成效, 其中Mplayer 是基于Linux 系統編程的一個項目。 這個項目基于Cortex A8 平臺,具有觸摸屏和按鍵。 學習者利用這個平臺開發Mplayer,基本功能是顯示歌曲信息、同步歌詞,顯示歌曲列表,當前歌曲反顯,點擊歌曲名能切換歌曲,顯示當前播放進度,實現按鍵、觸摸屏控制mp3 文件的播放、暫停、上一首、下一首、快進、快退、音量加減、靜音等功能。

2 Mplayer 設計步驟

Mplayer 是Linux 系統編程的一個實例,這里涉及到進程和線程,讓學習者練習進程和線程的具體應用。 觸摸屏和按鍵都可以控制歌曲,這就要使用不同的線程實現,另外歌曲的播放進程和觸摸屏、按鍵等線程之間要進行通信,獲取按鍵和觸摸屏線程傳遞的命令實現相應的歌曲切換等功能, 這里使用無名管道和命名管道實現進程之間通信。 下面具體看看設計步驟。

2.1 初始化

Mplayer 啟動,初始化圖形庫和觸摸屏,實現背景窗口的初始化。系統提供了圖形庫函數以及觸摸屏相關使用函數,學習者可以直接調用實現其相關功能。 例如以下函數:

TFT_init();這是將液晶屏初始化。

TFT_File_Picture();窗口貼圖函數。

TFT_CreateWindow();創建背景窗口函數。

TFT_ClearWindow();窗口清除函數。

2.2 歌曲列表、高亮顯示播放歌曲

從歌曲文件夾中讀取歌曲名字,可以使用指針數組、鏈表或者數據庫保存。 利用獨立函數將歌曲歌詞列表顯示,并把播放的歌曲名高亮。 其中使用到打開目錄函數和讀取目錄下文件函數。

DIR *opendir(char *pathname);

int closedir(DIR *dir);

struct dirent *readdir(DIR *dir);

這些函數的具體使用方法可以參照Linux C 函數文檔, 具體了解,這里不再贅述。

2.3 歌曲切換

由觸摸屏和按鍵實現歌曲播放、暫停、歌曲切換等功能,歌曲的切換通過mplayer 提供的“loadfile pathname”命令,切換到pathname 指定的歌曲。 歌曲歌詞列表實現之后創建子進程,在子進程中啟動mplayer,使用execl 或者execv 實現。execl 或execv 規定了mplayer 從命名管道獲取信息, 主進程就只能從這個命名管道發送命令來控制mplayer實現歌曲切換。 所以主進程需要創建觸摸屏線程和按鍵線程,檢測觸摸屏和按鍵操作,發送命令到這條命名管道,實現歌曲真正的切換功能。

2.4 歌曲信息顯示

在歌曲信息窗口顯示歌曲的總長度、當前播放時間,以及歌曲的專輯、歌手、標題等信息,這些信息在歌曲切換時進行刷新。 這些信息是通過mplayer 的一些命令獲取,但是需要重定向mplayer 的輸出,輸出到無名管道的寫入端,這樣其他進程和線程可以獲得信息,將需要的信息顯示到液晶屏。

2.5 歌曲歌詞顯示

在mplayer 播放歌曲時,查找歌詞,根據mplayer 返回的當前播放時間來查找歌詞,使得歌曲和歌詞同步,當歌曲快進時也可以實現同步功能,歌詞解析功能使用獨立線程完成。

3 Mplayer 流程

圖1 是Mplayer 開發流程圖。

圖1 Mplayer 流程圖

上面, 我們具體講述了開發Mplayer 項目每一步驟做的具體事宜,而使用流程圖來表示出具體情況,顯得清晰明了,這樣學習者能更清楚的了解項目的開發。

4 Mplayer 的擴展功能

上文介紹的設計是Mplayer 的基本功能實現,如果學習者有更多的時間和精力可以擴展更多的功能,比如觸摸進度條就可以使得歌曲快進或者快退;觸摸歌詞顯示窗口,往上滑動或者向下滑動歌詞,也可以使得歌曲快進或者快退。另外這個播放器是將固定路徑下的歌曲添加到歌曲名稱顯示窗口,那我們可以清除其窗口,利用添加按鈕,選擇不同的路徑來添加歌曲。這些功能實現難度稍大,學習者能力不同,可以根據自身情況來完成。

[1]Stephen Prata.C Primer Plus[M].北京:人民郵電出版社,2012:354-370.

[2]Neil Matthew,等.Linux 程序設計.4 版[M].北京:人民郵電出版社,2012:102-103,443-464.

[3]韋東山.嵌入式Linux 應用開發完全手冊[M].北京:人民郵電出版社,2012:197-221.

猜你喜歡
進程功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
男女平等進程中出現的新矛盾和新問題
主站蜘蛛池模板: 国产在线观看91精品| 三上悠亚精品二区在线观看| 亚洲精品视频免费观看| 国产精品思思热在线| 精品久久蜜桃| 国产精品网址你懂的| 99热国产这里只有精品9九| 欧美三级日韩三级| 色九九视频| 日本妇乱子伦视频| 午夜福利在线观看成人| 欧美一区中文字幕| 国产成人精品2021欧美日韩 | 亚洲va在线观看| 亚洲精品男人天堂| 免费99精品国产自在现线| 在线免费a视频| 国产成年女人特黄特色毛片免| 狠狠色噜噜狠狠狠狠色综合久| 人人艹人人爽| 久久精品人人做人人爽| 四虎成人免费毛片| 四虎永久在线精品影院| 美女裸体18禁网站| 拍国产真实乱人偷精品| 国产二级毛片| 欧美成a人片在线观看| 97免费在线观看视频| 天天色天天综合| 91成人在线观看视频| 国产精品视频999| 亚洲成人在线网| 69国产精品视频免费| 欧美一区二区精品久久久| 国产高潮流白浆视频| 精品伊人久久大香线蕉网站| 欧美曰批视频免费播放免费| h网站在线播放| 99精品伊人久久久大香线蕉| 日韩在线播放欧美字幕| 国产精品区视频中文字幕| 国产无码精品在线| 热思思久久免费视频| 欧美成人一级| 国产第一福利影院| 天堂久久久久久中文字幕| 国产精品免费p区| 91丝袜美腿高跟国产极品老师| 欧美成人精品一区二区 | 狠狠做深爱婷婷综合一区| 久久无码免费束人妻| 欧美成人综合视频| 欧美成人午夜在线全部免费| 亚洲欧洲自拍拍偷午夜色无码| 操国产美女| 国产无码性爱一区二区三区| 激情六月丁香婷婷| 日本道综合一本久久久88| 好紧好深好大乳无码中文字幕| 丰满人妻中出白浆| 国产精品网址在线观看你懂的| 99热这里只有精品免费国产| 成人午夜久久| 国产91蝌蚪窝| 国产在线一二三区| 欧美中文字幕第一页线路一| 欧美成人手机在线视频| 久久熟女AV| 国产美女自慰在线观看| 欧美激情视频二区三区| 久久亚洲美女精品国产精品| 亚洲无码不卡网| 国产91小视频在线观看| 国产地址二永久伊甸园| 亚洲欧美一区二区三区图片| 成人毛片在线播放| 国产乱子伦精品视频| 日韩精品亚洲人旧成在线| 精品一区二区三区波多野结衣| 伊人AV天堂| 日本黄色a视频| 精品人妻一区无码视频|