MPlayer音乐播放器项目讲解
admin
2023-03-05 21:03:12
0
 一、简要介绍MPlyer音乐播放器
  MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流操作系统使用,例如Linux和其他类Unix系统、Windows及Mac OS X系统。
 二、在开发板实现MPlayer功能
  具体如何实现mute 0 静音,为什么用这个命令不用我们做,我们要做的是在开发板上获取出界面后,按下相应按钮实现相应的功能,即对这个命令的处理和调用。
 三、思路
 1、画glade界面
 2、主函数分为父、子进程
      父进程:开启mplayer,用到execlp命令
                子进程:(1) 搭GTK框架,创建背景窗口、布局以及控件的获取显示;
                               (2)写上一首、下一首、暂停的回调函数(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设置音量大小(有命令)
                                    这些做完算是简单实现切歌功能
        3、做歌曲名、歌手、歌曲当前位置、歌曲长度、播放进度显示
          线程1:不停发命令,打印到屏幕上,写到父进程里(while(1)循环命令),为了不让打印到电脑上,要重定向到管道中(dup命令)
        线程2:不停去管道中读数据,做处理
                        (1)if语句做判断
                        (2)sscanf做切割
                        (3)进行组包
                        (4)gtk_label_set_text设置label标签的内容,箭头指向(如:gtk_label_set_text(a->label_cur_time,buff))
        4、线程3歌词显示       
             (1)有一个歌词文件
             (2)歌词文件解析,存链表(将时间与歌词进行匹配)
    重点:首先找到当前播放的歌,拿当前的时间与歌次做比较匹配信息

相关内容

热门资讯

51.79亿,携程真的疼了吗? 2026年7月25日,市场监管总局对携程反垄断案作出行政处罚:罚没款合计51.79亿元。但这个数字被...
一艘越南籍渔船在南沙遇险,29... 新华社三沙7月25日电(记者赵颖全)记者从三沙海上搜救中心获悉,25日傍晚,一艘越南籍渔船在南沙永暑...
成都如何耕好新型工业化“试验田... 7月24日,APEC数字周城市侧配套活动——制造强国建设专家研讨暨新型工业化推进交流会举行,院士专家...
活力中国调研行丨检测设备“长腿... 从排放控制的细分龙头到智能装备的新入局者,凯龙高科的转型路径,为观察传统制造业如何切入新赛道提供了一...
原创 别... 别被顶级奖项光环忽悠透了!拿菲尔兹奖的王虹,道出基础科研最现实的人间落差 开篇:大众脑补的名利双收,...
温州划龙桥惠耳——如何应对老年... 年近古稀的老人,近来时常出现耳鸣。周日,孩子们来了,跟她说话,声音小了她听不清,声音大了她嫌吵得慌,...
民调:包括共和党人在内,美国人... 据美国有线电视新闻网(CNN)当地时间24日报道,多项最新民调结果显示,包括许多共和党人在内,美国民...
一个人害得全县买不了榴莲,恶意... 作者:何涛 责编:任绍敏据央视报道,近日,湖南衡山县人民法院审结一起案件:当地一男子用AI伪造榴莲、...
“红霞”已加强为强台风,中央气... 今年第12号台风“红霞”已于今天晚上10时由台风级加强为强台风级,中央气象台发布今年首个台风红色预警...
携程为何被处51.79亿元重罚... 今天(25日),市场监管总局依法对携程集团有限公司滥用市场支配地位实施垄断行为作出行政处罚,罚没款合...