答案揭晓,在播放器的 About Page 里,会有一个 Nokia N95 的翻版图,你在上面戳就会变封面,算是致敬一些令人怀念的老东西。
这个设备的颜色会跟随你的系统配色走,and it's your N95
不要问我为什么要这么无厘头的摆个 N95 在这,这世界上很多东西都没有道理,About Page 就是用来玩花的
因为喜欢二次元,所以去了日本,结果却发现日本之所以二次元发展蓬勃,是因为所有人都在逃避现实
Apple's homework is due Monday no matter what, says judge https://www.theverge.com/2024/9/28/24256684/apple-epic-lawsuit-document-production-delay-denied
Читать полностью…DEV 5 周期 TODO:
[ ] 实现 About Page
[ ] 实现工具栏自定义功能
[X] 实现新的 Cover Art 缓存机制
[X] 系统媒体控制功能集成 Cover Art 显示
[X] 实现新默认 Cover Art
[ ] 部分格式 Metadata 读取与写入异常Читать полностью…
[X] Mix Page Cover Art 查询混乱
[X] 进度栏标题布局错误
[X] 排查推荐系统输出异常的问题
[X] 修复音量控制异常的问题
讲一下我做的设计,我这里需要高速 cover art 查询,因为每一个文件查 cover art 的方式都不一样而且 parse metadata header 再提图,还要确保格式正确之类的很麻烦,所以我把所有 cover art 全都缓存到数据库里了,用的时候直接查表提文件。
关于为什么不像有些播放器的实现,把 cover art 提前提取出来跟媒体文件放一个目录里,我是觉得这样会污染用户目录,很恶心。
关于为什么不放 .rune 目录里,因为毕竟它还是一大堆很小的文件,全都堆在一起用户迁移的时候复制会很崩溃。
所以我最后选择了一个会恶心我但是不会恶心用户的方法,在程序启动的时候创建一个临时目录,查到哪个 cover art 就从数据库里面提哪个文件存临时目录里,再把 path 交给 dart,但这个过程很绕……
现在每个有可能会取到 cover art 的 API 都会返回一个 bake_cover_art 的选项,如果是 true,就会把 cover art 从数据库里面提出来,放硬盘上回传地址,我在想有没有更优的做法。
这种实现带来的最大问题是,四处都得处理 bake 的条件判断……