资讯专栏INFORMATION COLUMN

[大妈吐糟] 虾米音乐的系列猜想

tianyu / 910人阅读

摘要:原文大妈吐糟虾米音乐的系列猜想背景习惯泛听的专辑顺序强迫症重症患者喜欢复合类型的音乐追踪创作型音乐人团队只听专辑而且一定要按顺序来听习惯根据当前心态快速形成有针对性的播放列表音乐历史从有条件配置录音机开始上百盒带几百硬盘常备以往移动音乐习惯

原文: [大妈吐糟] 虾米音乐的系列猜想 | Zoom.Quiet Personal Static Wiki

背景

习惯泛听的专辑顺序强迫症重症患者!

喜欢复合类型的音乐,追踪创作型音乐人/团队

只听专辑,而且一定要按顺序来听

习惯根据当前心态快速形成有针对性的播放列表

音乐历史:

从有条件配置录音机开始

上百盒带,几百CD,MP3CD

硬盘常备 30G+ APC

以往移动音乐习惯:

iOS 用 podcast 下载有关频道的音乐

Android 用自行上传的音乐,以 类别/音乐人/专辑 为目录形式组织

用内置播放器以目录为线索播放

管理/播放 流程继续电脑中 cmus 的习惯

为制作 大小丸子:"情人节快乐;-)" 才知道 xiami

变成移动音乐主力陪伴平台

下载过 900+ 专辑

播放 20000+ 首音乐

现象

实际上定心使用 xiami 音乐应用,也经过了很长时间的折腾:

从 Play 市场上安装了所有高分音乐播放器, 没有一个超过 winamp 的尿性

从 碗豆茄 下载安装了所有高分音乐应用, 发现都一个尿性:

在播放界面中没有当前播放列表的快速入口

播放清单界面没有专辑封面缩图

无法从当前播放快速进入 专辑/艺人/相关艺人 页面,并进行快速下载

只有乱序播放,没有顺序播放的快捷方式

...

相比下来,只有 xiami 还能忍受

但是,当本地音乐 下载3000+音乐, 艺人超过5屏,专辑超过100时

各种杯具开始了:

下载/播放/删除 同时进行时,闪退

任何界面中,批量删除时,闪退, 恢复时总是删不干净

经常专辑/艺人封面丢失, 一片空白无法要求强行同步/重新下载

批量操作,经常定住,无反应

每次启动,进入本地音乐界面时,有一定比例闪退

每次启动进入本地音乐时, 每次都要消耗几十秒重新加载

...

问题

基本上,俺对手机上的音乐品质已经不报希望了,
只要求:

可以快速选中想听的艺人

能快速追加其它下载的指定艺人所有专辑到当前播放清单中

快速按照下载的专辑以及专辑内顺序依次播放

但是,以上三个基本需求,无一能在当前已知所有移动播放器中作到:

选择艺人, 只有 Google Play音乐 基本作到舒心了:

点击进入 我的乐库 优先进入 音乐人, 而不是 其它 tab

所有卡片用的是现有专辑的拼贴

杯具的是, 从本地导入音乐的过程,以及目录 是无法控制的

如果通过其它应用删除了相关音乐, GPlayer 是不知道何时能更新的

快速根据需要组合出当前播放清单, 没有应用能满足:

多数强行要求创建 播放列表/精华 没有7次以上的操作不可能完成

xiami 还限定只能有 50 首音乐的上限制

这就很杯具了: 俺播放本地的音乐,为毛要限制俺的 playlist 长度?!

按照一张专辑接一张专辑,音乐依从专辑原有顺序播放

这应该是最吻合音乐人当初创意的音乐收听顺序了

但是,这竟然成为所有 音乐类应用 最不愿意实现的功能?!

为什么呢?! 细思恐极....

分析 MP3 meta信息

参考:

RFC 3003 - The audio/mpeg Media Type

RFC 3119 - A More Loss-Tolerant RTP Payload Format for MP3 Audio

ID3 - Wikipedia, the free encyclopedia

MP3 - Wikipedia, the free encyclopedia

...

从 mpeg-1 时代开始, 音乐文件中就已经能包含完备的专辑/艺人/播放顺序 的信息!

但是!

xiami 也好,其它音乐应用也好, 走的都是 ucg 模式,以便避开版权纠纷;

这就导致各家音乐库中的音乐文件本身 meta 信息混乱/不全

进一步的,为了避免在移动设备上进行大量的目录操作, 大家都将下载文件放在一个目录中

更加可悲的, 为了快速开发使用 SQLite 来管理所有音乐 meta 信息

综上, 导致了:

无法合理的触发 下载/meta提取/刷新/使用 时机

人为形成多重等待

并在错误的信息基础上,几乎无法进行合理的控制识别

最终形成类似情景:

根据音乐人信息, 从专辑列表,下载多个专辑后

在音乐人界面, 看到的就是这种专辑顺序混杂的情景

实际播放时,可以想象是多么难受的事儿

xiami 中还有一个诡异的现象是:

即使相关专辑都下载到了本地

但是,在一个专辑播放过程中

动态的从其它本地专辑界面,点击加入当前播放列表后

当播放追加专辑音乐时, xiami 不从本地播放,而是无视音乐已经下载的状态,尝试从网络中下载播放!

这得是什么样的脑洞经理,才作的出这种产品决策呢...

建议

基于用户上传的音乐文件表直接使用:

根据官方的信息, 在服务端统一刷一下 meta 信息吧

并将相关 meta 信息,独立保存一下

在其它用户下载音乐文件的同时, 直接向客户端 push 对应的meta 信息, 就别生从本地文件中再遍历读取了吧

下载/管理/播放, 用多线程/进程来处理吧

最简单的,别将 meta 信息和其它控制信息放在同一 DB 中哪

SQLite 这货就是单用户单线程最轻量级DB

对于这种专辑信息,又不涉及交叉关系索引

就是用个内存 KV 效率也比用 SQL 高哪

总之, 亲, 大家喜欢 xiami 的音乐库, 努磨 SD 卡拼命下载了几千音乐到本地了

就让俺们愉快的自由播放 ,不好嘛?!

进展

150205 整理以往的吐糟, 结集纪念发布,永备,看 xiami 何时修订上

141121 [大妈吐糟] 自杀现象分析 - 虾米音乐讨论区

141030 [大妈吐糟] 无法理解的本地播放行为! - 虾米音乐讨论区

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/12233.html

相关文章

  • 爬取网易云音乐某一个人评论

    摘要:下来后配置完成后执行将替换成网易云音乐用户的,等待结束后,表就能看到用户的评论了。 需求来源 上周六的时候和一朋友聊天,聊到网易云系列产品,不知不觉就说到了网易云音乐,我说了些产品细节的问题,比如说,为什么在我不开通会员的情况下,网易云音乐不允许我红心一个会员歌曲,没有购买 没有听歌的权利这是正常,但连点击喜欢的权利都没有却让我很是郁闷,在后面,我为此功能特意下载虾米音乐,发现虾米却是...

    LittleLiByte 评论0 收藏0
  • 如何能低成本地快速获取大量目标用户,而不是与竞争对手持久战?

    摘要:如何能低成本地快速获取大量目标用户,而不是与竞争对手持久战这在如今的互联网上并不常见。产品经理需要寻找那些对产品价值最大的需求,而低成本地快速获取大量目标用户,就是重要的思考路径之一。 此文已由作者王诗沐授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 如何能低成本地快速获取大量目标用户,而不是与竞争对手持久战? 这在如今的互联网上并不常见。现在,大部分行业都已...

    sorra 评论0 收藏0
  • vue——一个页面实现音乐播放器

    摘要:用做进度条本身的样式很难看,并且不同的浏览器呈现出来的效果也不一样。背景滤镜模糊将图片设置为背景的感觉很棒,可以说整个播放器的颜值这背景提供了一半。正确写法错误写法待优化手动修改进度,偶尔会不生效。 请忽略下面这段文字年关将至,时间好歹又多出了些许。却不敢过度消遣。岁月未曾饶过我,我亦不想饶过岁月。且将它塞得膨胀,让这一年看似加更充实。不曾料想我一个爱些风花雪月、研墨行歌之人,却做起...

    isaced 评论0 收藏0
  • vue——一个页面实现音乐播放器

    摘要:用做进度条本身的样式很难看,并且不同的浏览器呈现出来的效果也不一样。背景滤镜模糊将图片设置为背景的感觉很棒,可以说整个播放器的颜值这背景提供了一半。正确写法错误写法待优化手动修改进度,偶尔会不生效。 请忽略下面这段文字年关将至,时间好歹又多出了些许。却不敢过度消遣。岁月未曾饶过我,我亦不想饶过岁月。且将它塞得膨胀,让这一年看似加更充实。不曾料想我一个爱些风花雪月、研墨行歌之人,却做起...

    Java3y 评论0 收藏0
  • vue——一个页面实现音乐播放器

    摘要:用做进度条本身的样式很难看,并且不同的浏览器呈现出来的效果也不一样。背景滤镜模糊将图片设置为背景的感觉很棒,可以说整个播放器的颜值这背景提供了一半。正确写法错误写法待优化手动修改进度,偶尔会不生效。 请忽略下面这段文字年关将至,时间好歹又多出了些许。却不敢过度消遣。岁月未曾饶过我,我亦不想饶过岁月。且将它塞得膨胀,让这一年看似加更充实。不曾料想我一个爱些风花雪月、研墨行歌之人,却做起...

    Richard_Gao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<