嵌入式系统应用-LVGL的应用-音乐播放器
1 播放器介绍
这里采用的是有源蜂鸣器播放的音乐,采用的RTT-BeepPlayer-pkg提供音乐模板。 里面提供了四首音乐的模板。
读者可以从这篇文章获得如何移植和加载音乐播放器的——rt-thread 的软件报包-RTT-BeepPlayer-pkg
2 LVGL 绘制
2.1 背景绘制
获取当前的界面,绘制界面的背景色为:绿色。
if (main_screen == NULL)
{
// 创建窗口
main_screen = lv_scr_act();
// 背景色是蓝色
lv_obj_set_style_bg_color(main_screen,lv_palette_main(LV_PALETTE_GREEN), LV_PART_MAIN);
lv_scr_load(main_screen);
}
2.2 按键绘制
按键的创建时:lv_btn_create
添加对应的按键的动作:lv_obj_add_event_cb
可以为按键创建风格:style
2.2.1 图标下载
可以从阿里的开源图标下载你需要的图标:阿里图标
2.2.2 由于图片尺寸默认200200,利用图片工具转化成为5050
2.2.3 利用lvgl 在线转化工具,进行转化c文件
如图进行配置
2.2.4 代码显示
// 播放按键
lv_obj_t* btn_play = lv_btn_create(main_screen);
lv_obj_add_event_cb(btn_play, event_play_handler, LV_EVENT_ALL, user_data);
lv_obj_align(btn_play, LV_ALIGN_LEFT_MID, 0, 0);
lv_obj_set_size(btn_play, 50, 50);
// 下一首按键
lv_obj_t* btn_next= lv_btn_create(main_screen);
lv_obj_add_event_cb(btn_next, event_next_handler, LV_EVENT_ALL, user_data);
lv_obj_align(btn_next, LV_ALIGN_CENTER, -80, 0);
lv_obj_set_size(btn_next, 50, 50);
// 上一首按键
lv_obj_t* btn_prev = lv_btn_create(main_screen);
lv_obj_add_event_cb(btn_prev, event_prev_handler, LV_EVENT_ALL, user_data);
lv_obj_align(btn_prev, LV_ALIGN_CENTER, 80, 0);
lv_obj_set_size(btn_prev, 50, 50);
// 退出按键
lv_obj_t* btn_exit = lv_btn_create(main_screen);
lv_obj_add_event_cb(btn_exit, event_exit_handler, LV_EVENT_ALL, user_data);
lv_obj_align(btn_exit, LV_ALIGN_RIGHT_MID, 0, 0);
lv_obj_set_size(btn_exit, 50, 50);
// 风格设计
stat