溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MPlayer音樂播放器項目講解

發(fā)布時間:2020-07-22 19:14:20 來源:網(wǎng)絡 閱讀:693 作者:mb5d2182ed97138 欄目:系統(tǒng)運維
 一、簡要介紹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ā)板上獲取出界面后,按下相應按鈕實現(xiàn)相應的功能,即對這個命令的處理和調(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設置音量大小(有命令)
                                    這些做完算是簡單實現(xiàn)切歌功能
        3、做歌曲名、歌手、歌曲當前位置、歌曲長度、播放進度顯示
          線程1:不停發(fā)命令,打印到屏幕上,寫到父進程里(while(1)循環(huán)命令),為了不讓打印到電腦上,要重定向到管道中(dup命令)
        線程2:不停去管道中讀數(shù)據(jù),做處理
                        (1)if語句做判斷
                        (2)sscanf做切割
                        (3)進行組包
                        (4)gtk_label_set_text設置label標簽的內(nèi)容,箭頭指向(如:gtk_label_set_text(a->label_cur_time,buff))
        4、線程3歌詞顯示       
             (1)有一個歌詞文件
             (2)歌詞文件解析,存鏈表(將時間與歌詞進行匹配)
    重點:首先找到當前播放的歌,拿當前的時間與歌次做比較匹配信息
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI