MPlayer音乐播放器项目讲解

匿名 (未验证) 提交于 2019-12-03 00:14:01
 一、简要介绍MPlyer音乐播放器   MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流操作系统使用,例如Linux和其他类Unix系统、WindowsMac 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:不停发命令,打印到屏幕上,写到父进程里(while1)循环命令),为了不让打印到电脑上,要重定向到管道中(dup命令)         线程2:不停去管道中读数据,做处理                         1if语句做判断                         2sscanf做切割                         3)进行组包                         4gtk_label_set_text设置label标签的内容,箭头指向(如:gtk_label_set_text(a->label_cur_time,buff))         4、线程3歌词显示                     1)有一个歌词文件              2)歌词文件解析,存链表(将时间与歌词进行匹配)     重点:首先找到当前播放的歌,拿当前的时间与歌次做比较匹配信息
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!