1. 播放引擎与性能
这是最基础的部分,核心在于平衡流畅与省电。
· 无缝与预加载:切换歌曲时,App可以提前缓存下一首音频,实现“秒切”。播放列表最好能预加载后面几首的关键数据。
· 音质与资源调度:根据网络情况自动切换码率。在后台播放或锁屏时,自动限制CPU和网络活动以降低耗电。
· 错误处理:建立重试机制,并在播放失败时提供清理缓存、切换音质等具体的解决方案。
2. 数据缓存与离线策略
· 智能缓存:默认缓存已播放歌曲的片段。当用户在Wi-Fi下完整播放后,可询问是否自动缓存,这样下次无需流量即可收听。同时,要设定LRU(最近最少使用)淘汰策略,自动清理最久未听的歌曲。
· 边下边存:边播边缓存,下次再播就直接读缓存。
3. 用户界面与交互
· 流畅度:虚拟列表是处理歌单大列表的关键技术,能只渲染屏幕可见区域,避免卡顿。
· 沉浸感:播放页的背景色可智能提取专辑封面的主色调。歌词控件最好能支持高刷,滑动要跟手,并能显示翻译和罗马音。
· 音频焦点:当接电话或打开其他音视频App时,App应自动暂停,挂断后恢复播放,这是非常基础但重要的体验。
4. 后端与数据架构
· CDN优化:音频文件必须用CDN分发,并根据运营商和地域做调度,解决跨网卡顿。热门的歌曲副本可以更多。
· 元数据分离:将歌曲的信息(标题、封面)和音频流分离。加载歌单时只需拉取轻量的元数据,封面图也建议用WebP格式并渐进式加载。
5. 内容发现与组织
建议采用“算法推荐 + 人工甄选”双引擎。算法根据行为推荐歌曲,但需要人工干预来过滤掉那些“听着像,但实际不是”的偏差内容,提升调性。
6.兼容性(待思考)
需要适合win7,这需要面临诸多挑战。
首先,在使用均衡器时,对于html框架,需要后台操作处理,这是特有挑战的。需要考虑一下策略。
加油,一定可以的。
7.听歌识曲
在这里,只能选择现成的网易云音乐。
识别率较高。
8.考虑封杀
首先,第三方api是很容易被资本封杀,目前死了5个。
所以更多api将是更好的选择。
我们需要考虑更多安全隐蔽的第三方,并且考虑跳过人机认证
这必须训练一个模型,但是问题是,win7如何训练?
所以,我们需要注入式攻击,跳过认证。
那么我需要考虑如何跳过
在各种原因下,需要直接跳过,欺骗js或后端认证,这需要一个专业的后端 ,在这里,使用Python更好。
那么一都好说了
最后,如果前端仍因为均衡器无法播放音乐,那么需要考虑后端播放了。