MPlayer音乐播放器项目讲解

一、简要介绍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)歌词文件解析,存链表(将时间与歌词进行匹配)
重点:首先找到当前播放的歌,拿当前的时间与歌次做比较匹配信息

原文地址:https://blog.51cto.com/14436846/2441113

时间: 2024-07-31 16:00:19

MPlayer音乐播放器项目讲解的相关文章

swift 音乐播放器项目-《lxy的杰伦情歌》开发实战演练

最近准备将项目转化为OC与swift混合开发,试着写一个swift音乐播放器的demo,体会到了swift相对OC的优势所在,废话不多说,先上效果图: ps:身为杰伦的铁粉,demo的主题必须跟杰伦有关,哈哈!而且自我感觉我有转型UI的天赋,有木有? 一.导入OC文件 创建好swift项目之后,导入OC工具类文件,Xcode会自动生成桥接文件 打开这个文件,在开头导入OC工具类的头文件,就可以调用OC工具类了 // // Use this file to import your target's

音乐播放器项目一知识点总结

一.导航栏控制器的透明度设置 //将navigationBar设为隐藏 self.navigationController.navigationBar.hidden = YES; //将navigationBar设为半透明 self.navigationController.navigationBar.translucent = NO; //让navigationbar变为全透明 [self.navigationController.navigationBar setBackgroundImag

Android(java)学习笔记234: 服务(service)之音乐播放器

1.我们播放音乐,希望在后台长期运行,不希望因为内存不足等等原因,从而导致被gc回收,音乐播放终止,所以我们这里使用服务Service创建一个音乐播放器. 2.创建一个音乐播放器项目(使用服务) (1)首先新建一个Android项目,命名为"Mp3音乐播放器",如下: (2)创建服务MusicService,如下: 1 package com.himi.Mp3player; 2 3 import android.app.Service; 4 import android.content

Android基于发展Service音乐播放器

这是一个基于Service组件的音乐播放器,程序的音乐将会由后台的Service组件负责播放,当后台的播放状态改变时,程序将会通过发送广播通知前台Activity更新界面:当用户单击前台Activity的界面button或拖动进度条时,系统通过发送广播通知后台Service来改变播放状态和播放指定音乐. 程序执行效果图:         watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3l1emhlbmdmYW4=/font/5a6L5L2T/

Andriod小项目——在线音乐播放器

Android在线音乐播放器 从大一开始就已经开始自学Java和Android了,到现在差不多有一年了. 终于到了开始做项目实战的阶段了.就先DIY个在线音乐播放器. 实现了以下功能: 这个播放器可以从本机电脑搭建的简易服务器里异步读取并解析json数据,播放音乐,实现音乐切换,时间显示,以及显示播放进度. 程序有三个界面,启动画面,音乐列表,播放器页面,可以通过音乐列表点击进入到播放界面. 这篇文章只大概写了一下实现的思路,描述了一些关键的地方. 文章最后还提供了源代码,可以在文章结尾处  下

HTML5项目笔记4:使用Audio API设计绚丽的HTML5音乐播放器

HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用. 无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道和一些元数据,这些是和你的视频或者音频控件绑定到一块的,这样才形成了一个完整的播放组件. 浏览器支持情况: 浏览器 支持情况 编解码器 Chrome 3.0 Theora . Vorbis .Ogg H.264 . AAC .MPEG4 FireFox 3.5 Theora . Vorbis .Og

团队项目 NABCD分析java音乐播放器

NABCD分析java音乐播放器 程设计题目:java音乐播放器 一.课程设计目的 1.编程设计音乐播放软件,使之实现音乐播放的功能. 2.培养学生用程序解决实际问题的能力和兴趣. 3.加深java中对多媒体编程的应用. 二.课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1.系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能. 2.编程简练,可用,尽可能的使系统的功能更加完善和全面 3.说明书.流程图要清楚. 三.课程设计内容 1.课程设计的题目及简介 音乐

4个小时实现一个HTML5音乐播放器

技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐播放器就要非常了解在Web中音频播放的方式,通常都采用HTML5的audio标签关于audio标签,它有大量的属性.方法和事件,在这里我就做一个大致的介绍. 属性:src:必需,音频来源:controls:常见,设置后显示浏览器默认的audio控制面板,不设置默认隐藏audio标签:autoplay

HTML5 audio标签 打造属于自己的音乐播放器

最近学习了HTML5中的Audio标签,学习他的最好方式当然是实践,于是就自己写了一个.那就直接上演示链接吧 http://htmlpreview.github.io/?https://github.com/djlxiaoshi/Audio/blob/master/music.html.模仿了QQ音乐网页版的部分样式.谁叫自己不会UI呢! HTML5中增加了Audio和Video标签,这两个标签的用法非常相似.功能却是相当强大,我们先来看一下Audio标签各个浏览器的支持情况.这里用的依然是Ca