1 Star 0 Fork 0

llllllllllll / project_2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

项目二 MP3播放器

作者:杨胜元 ,其他阅读地址


##1.功能介绍

播放器基于调用madplay实现音乐播放。

###1.1 功能

按键 功能
sound.jpg 无功能
rewind.jpg 上一曲
play.jpg 播放
pause.jpg 暂停
forward.jpg 下一曲
stop.jpg 退出

###1.2 程序流程

st=>start: 开机
op=>operation: 绘制界面
op2=>operation: 搜索图片
op3=>operation: 初始化线程池
op4=>operation: 初始化按键时间注册
op5=>operation: 注册按键事件
end=>end: 主函数死循环不退出

st->op->op3->op4->op5->end

##2.重要数据结构 ###2.1 but_evt.c

typedef struct but_evt{
    int area[2][2];
    void *(*func)(void *);
    void *(*func_down)(void *);
//可加一个void * 类型用来传参
    struct but_evt *next;
}but_evt;
名称 参数 说明
area[0][0] int 矩形按键区域左上角x轴坐标
area[0][1] int 矩形按键区域左上角y轴坐标
area[1][0] int 矩形按键区域右下角x轴坐标
area[1][1] int 矩形按键区域右下角Y轴坐标
void (*func)(void*) void * void * 按键事件函数指针
void *(*func_down)(void *) void * void * 按键按下事件函数指针

###2.2 pthread_pool

typedef struct struct_pthread_pool{
    pthread_t pthread_id;
    struct struct_pthread_pool *next;
}struct_pthread_pool;
名称 参数 说明
pthread_t pthread_id; pthread_t 线程池空闲线程id,方便监控的守护进程杀死过多的进程

##3. 文件说明

文件名 存储内容 说明
.but_evt 按键事件注册链表 暂未添加
.path mp3搜索出来的路径

注意:icon文件必须放在程序同目录下

./
├── icon
│   ├── background.jpg
│   ├── forward.jpg
│   ├── forward_on.jpg
│   ├── pause.jpg
│   ├── pause_on.jpg
│   ├── play.jpg
│   ├── play_on.jpg
│   ├── rewind.jpg
│   ├── rewind_on.jpg
│   ├── sound.jpg
│   ├── sound_on.jpg
│   ├── stop.jpg
│   └── stop_on.jpg
└── main

##4. madplay

应用中使用system调用madplay播放音频后,无法直接控制暂停/停止等操作,直接对madplay进程进行控制

  • "killall -19 madplay"使进程挂起以暂停
  • "killall -18 madplay"使进程恢复运行
  • "killall -9 madplay"终止进程以停止。

空文件

简介

学习项目,arm嵌入式mp3播放器 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/ludlee/project_2.git
git@gitee.com:ludlee/project_2.git
ludlee
project_2
project_2
master

搜索帮助