一、簡要介紹MPlyer音樂播放器
MPlayer是一款開源多媒體播放器,以GNU通用公共許可證發(fā)布。此款軟件可在各主流操作系統(tǒng)使用,例如Linux和其他類Unix系統(tǒng)、Windows及Mac OS X系統(tǒng)。
二、在開發(fā)板實現(xiàn)MPlayer功能
具體如何實現(xiàn)mute 0 靜音,為什么用這個命令不用我們做,我們要做的是在開發(fā)板上獲取出界面后,按下相應(yīng)按鈕實現(xiàn)相應(yīng)的功能,即對這個命令的處理和調(diào)用。
三、思路
1、畫glade界面
2、主函數(shù)分為父、子進程
父進程:開啟mplayer,用到execlp命令
子進程:(1) 搭GTK框架,創(chuàng)建背景窗口、布局以及控件的獲取顯示;
(2)寫上一首、下一首、暫停的回調(diào)函數(shù)(g_signal_connect);
(3) 獲取歌曲目錄信息;
DIR *dir;
struct dirent *dirp;
int i = 0;
char *dd[100]={};
char ll[100]="";
if((dir=opendir("./song"))==NULL)
{
printf("Open dir song fail\n");
exit(1);
}
while((dirp=readdir(dir))!=NULL)
{
song_list[i]=(char*)malloc(sizeof(dirp->d_name)+1);
strcpy(song_list[i],dirp->d_name);
printf("%s\n",song_list[i]);
i++;
a.geshu=i;
printf("%d\n",i);
}
closedir(dir);
(4)音量鍵
一是if靜音還是開啟,范圍,二是if設(shè)置音量大小(有命令)
這些做完算是簡單實現(xiàn)切歌功能
3、做歌曲名、歌手、歌曲當前位置、歌曲長度、播放進度顯示
線程1:不停發(fā)命令,打印到屏幕上,寫到父進程里(while(1)循環(huán)命令),為了不讓打印到電腦上,要重定向到管道中(dup命令)
線程2:不停去管道中讀數(shù)據(jù),做處理
(1)if語句做判斷
(2)sscanf做切割
(3)進行組包
(4)gtk_label_set_text設(shè)置label標簽的內(nèi)容,箭頭指向(如:gtk_label_set_text(a->label_cur_time,buff))
4、線程3歌詞顯示
(1)有一個歌詞文件
(2)歌詞文件解析,存鏈表(將時間與歌詞進行匹配)
重點:首先找到當前播放的歌,拿當前的時間與歌次做比較匹配信息
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)絡(luò)空間、主機租用、主機托管,四川、重慶、廣東電信服務(wù)器租用,西部信息服務(wù)器租用,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。
文章標題:MPlayer音樂播放器項目講解-創(chuàng)新互聯(lián)
URL鏈接:http://muchs.cn/article2/dpieoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)頁設(shè)計公司、Google、品牌網(wǎng)站設(shè)計、虛擬主機、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)