Velune听歌统计深度解析:10张图表揭示你的年度音乐品味(含Year in Review)
【免费下载链接】VeluneA premium ad-free YouTube Music client for Android. Built with Kotlin Jetpack Compose.项目地址https://gitcode.com/gh_mirrors/ve/Velune点击查看免费下载Velune是一款免费的无广告 YouTube Music 客户端Android 平台基于 Kotlin 与 Jetpack Compose 打造。它内置完整的听歌统计体系本地记录每一段收听数据生成时长排行、艺术家饼图、年度听歌报告Year in Music等 10 种可视化图表帮你快速回顾这一年的音乐品味。本文带你逐一看懂这些图表并告诉你数据从哪来。一、听歌统计数据从哪来在进入图表之前先搞清楚数据来源这决定了统计的可信度每当你听一首歌达到30 秒默认阈值可改Velune 就会把一次Event歌曲 ID 时间戳 播放时长写入本地数据库逻辑见 MusicService.kt。数据结构非常简洁songId、timestamp、playTime三个字段定义在 Event.kt。所有统计图表歌曲/艺术家/专辑排行都通过 Room 数据库的聚合查询实时算出核心 SQL 封装在 DatabaseDao.kt数据完全存储在本地不上传服务器。 一个细节只有播放达到时长阈值才计入统计点开就划走不会被记录所以统计结果相当真实。二、快速上手打开统计页只需 2 步Stats 统计页在底部导航栏点击「Stats」标签即可进入页面整体结构由 StatsScreen.kt 实现数据由 StatsViewModel.kt 提供。Year in Music 年度回顾从首页入口进入路由注册在 NavigationBuilder.kt页面实现见 YearInMusicScreen.kt。三、10 张图表逐一拆解 图表 12「最喜爱的艺术家/歌曲」高亮卡片Stats 页顶部有两张 Highlight 卡片Your Favourite Artist与Your Favourite Song直接展示你当前时段播放次数最多、时长最长的艺术家和单曲副标题附带播放次数与累计时长点击可直达艺术家主页。图表 3艺术家时间占比饼图Top 5 艺术家按收听时长绘制成一张饼图每个扇区直接使用该艺术家的封面图填充——谁占了你更多耳朵一眼便知。图表实现见 StatsScreen.kt 中的ArtistPieChart右侧还显示该时段的Total Time Listened总时长。图表 4最常播放歌曲排行带序号的完整歌曲榜单每首歌标注播放次数 累计收听时长点击即可继续播放长按弹出歌曲菜单。列表底部还有一个隐藏的彩蛋按钮见下文实用技巧。图表 5最常播放艺术家网格双列卡片布局展示所有达标的艺术家每张卡片同样附带播放次数与时长点击进入该艺术家的全部作品页。图表 6最常播放专辑横向滑动条按收听时长排序的专辑横滑列表点击直达专辑详情——这是发现你到底在循环哪张专辑的最快方式。图表 7年度 Hero 卡片Year in Music 第 1 页进入 Year in Music 后的开场页巨大的年份数字 全年总收听时长全年总播放曲目数配合霓虹渐变光效与粒子动画仪式感拉满。图表 8年度 Top 1 歌曲卡片以 Story 全屏卡片形式展示你这一年循环最多的单曲长按可呼出歌曲菜单。图表 9年度 Top 1 艺术家 专辑卡片两页独立卡片分别揭晓年度最钟爱的艺术家与专辑点击可继续播放或跳转详情。图表 10年度总结页 可分享图最后一页把年度 Top 歌曲、艺术家、专辑与总时长汇总成一张Share Summary卡片点击分享按钮即可把整页渲染成一张精美的年度听歌报告图片基于 ComposeToImage.kt 渲染随时晒图。四、时间筛选4 种模式随心切换 ✨Stats 页顶部有一排筛选 Chip支持两种维度切换定义见 StatPeriod.kt模式可选区间适合场景Continuous连续近 1 周 / 1 月 / 3 月 / 6 月 / 1 年 / 全部快速看近期口味变化Weeks周逐周向左回翻追踪哪一周我听歌最多Months月逐月回翻月度回顾Years年逐年回翻从你听歌的第一年起长期品味变迁切换任意区间下方所有图表都会实时刷新无需手动重载。五、实用技巧 一键随机播放你的高频歌单Stats 页右下角的 Shuffle 悬浮按钮会把你最常播放歌曲全部打乱后开始播放是发现被遗忘的心头好的神器。Year in Music 支持年份切换可翻阅你使用 Velune 以来的任意年份起始于你第一条收听记录的那一年逻辑见 YearInMusicViewModel.kt。想让统计更敏感在设置中调整历史记录的时长阈值短于 30 秒的试听即可被计入。统计是本地数据清除应用数据会同时清空听歌记录建议提前用 Year in Music 的分享图存档你的年度品味。六、源码索引模块路径Stats 页面StatsScreen.kt年度回顾页面YearInMusicScreen.kt统计查询Room DAODatabaseDao.kt时间区间定义StatPeriod.kt播放事件写入MusicService.ktVelune 把听歌变成了一份可回看的私人档案平时用 Stats 页的 6 类图表追踪口味变化年底用 Year in Music 生成一张可分享的年度听歌报告——这就是听歌统计对普通用户最实用的价值。赞分享【免费下载链接】VeluneA premium ad-free YouTube Music client for Android. Built with Kotlin Jetpack Compose.项目地址https://gitcode.com/gh_mirrors/ve/Velune点击查看免费下载相关推荐gemma-4-e4b-it-qat-OptiQ-4bit性能评测比统一4位量化提升1.19分的秘密gemma 4 e4b it qat OptiQ 4bit性能评测比统一4位量化提升1.19分的秘密 gemma 4 e4b it qat OptiQ 4bi多模态音乐推荐革命如何让AI精准捕捉你的音乐品味多模态音乐推荐革命如何让AI精准捕捉你的音乐品味 在数字音乐爆炸的时代找到符合个人审美的歌曲变得越来越困难。多模态机器学习Multimodal Machi知识库多模态人工智能Audacity音频编辑全攻略从零开始掌握开源音频处理利器Audacity音频编辑全攻略从零开始掌握开源音频处理利器 想要免费又专业的音频编辑工具Audacity是你的不二选择这款开源音频软件提供了录音、剪辑、混音频处理桌面应用音视频创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

字符串的学习

字符串的学习

#字符串 python_string1 “Python” python_string2 ‘Python’ python_string3 ‘’‘Python’‘’ print(type(python_string1)) #java数组:下标/索引 #获取字符串中单个字符 agent_name“海洋垃圾分析智能体” #打印输出“分”字 print(str(agent_name[4])) #…

2026/10/14 17:22:46 阅读更多 →
Linux离线安装机器学习环境:从pip离线源到GPU版本匹配的完整指南

Linux离线安装机器学习环境:从pip离线源到GPU版本匹配的完整指南

很多搞机器学习的开发者第一次接手生产环境服务器都会懵:内网隔离、没外网、没法直接pip install,连系统包管理器都访问不了镜像源,但业务偏偏要求在这个 Linux 环境里离线安装机器学习环境,跑训练和推理。这个需求我接过不止一次…

2026/10/14 17:22:46 阅读更多 →
易语言毫秒级时间获取:GetLocalTime API实战详解

易语言毫秒级时间获取:GetLocalTime API实战详解

1. 为什么要抓毫秒:易语言时间函数的边界与短板如果你用易语言写过计时工具、订单号生成或者高频数据采集,大概率会遇到同一个尴尬:时间_取现行时间戳()能到秒,取现行时间()能到秒,取时间()还是秒级的。但在很多真实场…

2026/10/14 17:22:46 阅读更多 →

最新新闻

2025年度广东省网络空间安全协会科技进步奖揭晓,itc保伦股份产学研项目获评二等奖

2025年度广东省网络空间安全协会科技进步奖揭晓,itc保伦股份产学研项目获评二等奖

近日,广东省网络空间安全协会2025年度科学技术奖评选结果正式揭晓,广东保伦电子股份有限公司(以下简称“itc保伦股份”)联合华南理工大学申报的“智能超高清视讯系统关键技术研究与应用”项目,荣获科技进步奖二等奖。该…

2026/10/15 20:51:51 阅读更多 →
Vugu 2.x DOM 事件处理实战:基于 Go+WebAssembly 的 `dom-events` 示例深度解析

Vugu 2.x DOM 事件处理实战:基于 Go+WebAssembly 的 `dom-events` 示例深度解析

前端Web框架 【免费下载链接】vugu Vugu: A modern UI library for GoWebAssembly (experimental) 项目地址: https://gitcode.com/gh_mirrors/vu/vugu 点击查看 免费下载 导读 本文以 Vugu 2.x 仓库中的 dom-events 示例 为骨架,系统讲解在 Vugu&…

2026/10/15 20:51:51 阅读更多 →
Guzzle 3 HTTP CachePlugin 深度实战:透明代理缓存的配置、再验证与扩展机制详解

Guzzle 3 HTTP CachePlugin 深度实战:透明代理缓存的配置、再验证与扩展机制详解

后端电商前端 【免费下载链接】CRMEB 🔥CRMEB开源商城免费开源多语言商城系统,Tp6框架商城,系统可商用;包含小程序商城、H5商城、公众号商城、PC商城、App,支持分销、拼团、砍价、秒杀、优惠券、积分、会员等级、小程序…

2026/10/15 20:51:51 阅读更多 →
长沙智能体培训机构怎么选不踩坑 四步筛选法

长沙智能体培训机构怎么选不踩坑 四步筛选法

摘要本文梳理长沙智能体培训市场的常见坑点,给出四步筛选法与逐项核验标准,覆盖资质、课程项目、师资、合同收费四个核心环节,帮助学习者系统规避无资质办学、低价引流、虚假项目、隐形消费等风险。一、认知背景:市场鱼龙混杂&…

2026/10/15 20:51:51 阅读更多 →
Firebase JS SDK 的 TotpMultiFactorAssertion:TOTP 第二因子认证断言的注册与登录实战解析

Firebase JS SDK 的 TotpMultiFactorAssertion:TOTP 第二因子认证断言的注册与登录实战解析

开发工具后端 【免费下载链接】firebase-js-sdk Firebase Javascript SDK 项目地址: https://gitcode.com/gh_mirrors/fi/firebase-js-sdk 点击查看 免费下载 本文以 Firebase JavaScript SDK 官方 API 参考文档 auth.totpmultifactorassertion.md 为骨架&#xff…

2026/10/15 20:51:51 阅读更多 →
ThinkJS 2.x 分页组件 think-pagination 使用指南:从 countSelect 到模板渲染的完整实践

ThinkJS 2.x 分页组件 think-pagination 使用指南:从 countSelect 到模板渲染的完整实践

后端Web框架 【免费下载链接】thinkjs Use full ES2015 features to develop Node.js applications, Support TypeScript. 项目地址: https://gitcode.com/gh_mirrors/thi/thinkjs 点击查看 免费下载 本指南以 packages/think-pagination/README_v2.md 为骨架&…

2026/10/15 20:50:49 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →