用 flutter 做了一个听书软件

230 天前
 leetomlee123

用户直接从后台拉到前台 然后杀死 app 会导致播放进度丢失 有什么好方法呢 不想定时任务保存记录

6546 次点击
所在节点    Android
27 条回复
iOCZS
230 天前
定时保存,实时保存,APP 退出回调保存,播放 widget deinit 保存
leetomlee123
230 天前
@iOCZS 只能这样吗 定时存感觉太 lou 了
iOCZS
230 天前
@leetomlee123 那你就想错了,最简单直接的才是最健壮的。机器就适合做这种高频率的工作。你想啊,你音频播放,肯定有进度在实时刷新吧,有时候是个进度条啥的,那你刷新的时候赶紧同步不就好了。有时候你只是封面图转一下,但是播放进度其实还是有回调或者你可以定时去获取一下。
leetomlee123
230 天前
@iOCZS 安卓就不能捕获后台拉到前台这个状态吗 只保存一次才优雅 强迫症的我接受不了
Oneup
230 天前
@iOCZS 赞同
sentinelK
230 天前
@leetomlee123 "安卓就不能捕获后台拉到前台这个状态吗"

flutter 不清楚,但是 Android 本身是可以的,对应的是生命周期中的 onResume 事件。
leetomlee123
230 天前
@sentinelK 我的意思是后台拉到任务栏 而不是直接回到前台 触发不了 onresume
AlanStar
230 天前
Android 原生的 Activity 生命周期有 onPause()和 onResume(),flutter 可以通过 WidgetsBindingObserver 检测到前后台切换状态(后半段是查到的)。
关于播放进度,可以考虑这几个方案
1.用生命周期的方式来控制,比如 Activity 获得焦点和失去焦点时各就执行一次播放进度记录,这样就不会显得那么刻意。
2.提示用户关闭 APP 电量管理限制以使用类似 service 的机制监听用户的行为变化从而做记录。
后者可能会让人比较反感,不太建议
AoEiuV020JP
230 天前
软件开源不?有些兴趣,
听书是本地用户自行导入的书还是有提供资源?
daniel11
230 天前
我最近也是有个想法,也想问题是自用呀还是会发布,如果发布的话书的资源如何处理的,书的版权怎么处理
leetomlee123
230 天前
@AoEiuV020JP http://116.204.64.93:5244/d/v1/tsl.apk
leetomlee123
230 天前
@daniel11 解析别人网站的
leetomlee123
230 天前
@AlanStar 不知道有没有 flutter 插件支持 不懂原生
jifengg
230 天前
前段时间也做了一个听故事的 flutter 项目,用的是 audioplayers 包,它有 onPositionChanged 可以监听进度变化。你可以在里面加个判断,距离上一次保存多少秒了就再保存一次。
leetomlee123
230 天前
@jifengg 不喜欢这种
daotiangeng
230 天前
@leetomlee123 下不了,提示病毒
leetomlee123
230 天前
leetomlee123
230 天前
kosmosr
230 天前
不如问问 gpt ,我写 flutter 很多代码都是请教 gpt 写的
leetomlee123
230 天前
@kosmosr 不知道如何描述

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/990150

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX