硬汉嵌入式论坛

 找回密码
 立即注册
查看: 743|回复: 9
收起左侧

[LVGL] 请教下 lvgl 动态滑动 slider 来进行设置文件大小貌似不太行 ?

[复制链接]

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
发表于 2024-12-6 14:34:52 | 显示全部楼层 |阅读模式
请教下 lvgl 动态滑动 slider 来进行设置文件大小貌似不太行 ?


music_lisder.png

在 播放状态,滑动 进度条来设置播放位置 貌似不可以 ?

在 暂停状态时滑动进度条是可以停留在指定的位置,但是一旦按下播放后 就又会回到之前原装播放的位置去了 。。。 ?



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-12-7 08:58:18 | 显示全部楼层
帮顶。
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2024-12-7 13:45:25 | 显示全部楼层
回复

使用道具 举报

3

主题

54

回帖

63

积分

初级会员

积分
63
发表于 2024-12-9 11:24:14 | 显示全部楼层
[C] 纯文本查看 复制代码
static void music_player_event_cb(lv_event_t *e)
{
	lv_event_code_t code = lv_event_get_code(e);
	lv_obj_t * obj = lv_event_get_target(e);

	if (code == LV_EVENT_RELEASED) {	
		ret = lv_slider_get_value(obj);
		ret = ret > 0 ? ret - 1 : 0;
		if (正在播放) {
			seek到ret
		} else {
			设置开始播放的位置是ret
		}
	}
	else if (code == LV_EVENT_VALUE_CHANGED) {
		ret = lv_slider_get_value(obj);
		ret = ret > 0 ? ret - 1 : 0;
		int min = ret/60;
		int sec = ret%60;
		lv_label_set_text_fmt(s_curr_time_label, "%02d:%02d", min, sec);
	}
}


void create_music_player(lv_obj_t* parent)
{

	s_curr_time_label = lv_label_create(s_player_cont);
	lv_label_set_text_fmt(s_curr_time_label, "00:00");

	s_play_slider = lv_slider_create(s_player_cont);
	lv_obj_add_event_cb(s_play_slider, app_ximalaya_music_player_event_cb, LV_EVENT_RELEASED, "slider");
	lv_obj_add_event_cb(s_play_slider, app_ximalaya_music_player_event_cb, LV_EVENT_VALUE_CHANGED, "slider");
}
回复

使用道具 举报

5

主题

269

回帖

284

积分

高级会员

积分
284
发表于 2024-12-9 13:52:11 | 显示全部楼层
似乎是少了个播放按钮按下后获取当前slider位置的操作
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2024-12-9 16:44:53 | 显示全部楼层
本帖最后由 hpdell 于 2024-12-9 17:21 编辑
baobao5 发表于 2024-12-9 11:24
[mw_shl_code=c,true]static void music_player_event_cb(lv_event_t *e)
{
        lv_event_code_t code = lv_ ...

好的,我试试看,感谢感谢啊


回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2024-12-9 16:45:22 | 显示全部楼层
DX3906 发表于 2024-12-9 13:52
似乎是少了个播放按钮按下后获取当前slider位置的操作

貌似应该是的
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2024-12-10 17:02:44 | 显示全部楼层
DX3906 发表于 2024-12-9 13:52
似乎是少了个播放按钮按下后获取当前slider位置的操作

请教下, 播放按钮按下后获取当前slider位置的操作 要如何获取呀 ?
回复

使用道具 举报

5

主题

269

回帖

284

积分

高级会员

积分
284
发表于 2024-12-10 18:00:59 | 显示全部楼层
hpdell 发表于 2024-12-10 17:02
请教下, 播放按钮按下后获取当前slider位置的操作 要如何获取呀 ?

事件回调里用lv_slider_get_value获取当前slider的值,其实楼上给的代码已经有类似操作了
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2024-12-11 15:41:06 | 显示全部楼层
DX3906 发表于 2024-12-10 18:00
事件回调里用lv_slider_get_value获取当前slider的值,其实楼上给的代码已经有类似操作了



我重新 把获取到的 值再次写入到 lv_slider_set_value 这个里面试试看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 18:13 , Processed in 0.053837 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表