基于Subsonic API的移动端播放器
netPlayer Next | netPlayer | ★ netPlayer Mobile
支持Android设备和iOS设备
经过测试的平台:小米5X & iPhone13
(apk
安装包见Release
,iOS设备请自行下载源码安装)
Note
受限于Subsonic API,“所有歌曲”和“专辑”只能显示500首/张(随机的500首歌曲排序展示),如果你要随机播放所有的歌曲,可以点击主页右上角更多-随机播放所有歌曲
Warning
如果你已经安装了v1.x版本的netPlayer Mobile,那么请在升级到v2.0.0或更新版本时卸载旧版本
Tip
在主页-更多(位于右上角三个点)中可以选择随机播放所有歌曲,这种方式随机播放的歌曲不受API中500首歌曲的限制
Tip
在播放页面可以点击封面来查看歌词,同理点击歌词可以隐藏歌词
以下截图运行在模拟机上,不同设备上运行效果可能略有不同
你需要先检查你的客户端设备是否可以直接打开音乐库网页,很大概率是服务器防火墙或者设置问题
另外务必检查地址,http和https
Subsonic音乐库的API并不支持查看所有的歌曲,因此至多只能显示500首歌曲 但是你可以通过完全随机播放来随机播放所有的歌曲,不受歌曲数量显示
歌词API见文末,没有找到歌词就是字面意思 歌词的内容取决于歌曲标题、所属专辑、艺人和歌曲长度
歌曲的封面来自你上传的音频文件,如果音频文件没有内嵌封面则会显示默认封面
另外经过测试部分编码的音频文件内嵌封面加载存在异常(或加载时间过长),可能会导致崩溃,因此也会显示默认封面
- 如果你需要在Android设备上运行或者调试,需要安装Android Studio和Gradle
- 如果你需要在iOS设备上运行或者调试,需要使用Mac,并且安装Xcode*
- 安装Flutter,安装步骤见Flutter - 开始使用,本项目使用的Flutter版本为
3.22
- 建议使用Visual Studio Code打开项目
- 在Visual Studio Code的右下角找到
Device
按钮(也有可能显示为可用的设备),选择目标设备或者模拟器 - 在
运行和调试
面板选择Debug
,Profile
或者Release
**,详细的区别见Flutter官网
- 在Visual Studio Code的右下角找到
*注意,你需要通过Xcode(使用Xcode打开文件ios/Runner.xcworkspace
可以自动获取)获取证书,非开发者账户的证书的有效期为一个星期,也就是说一个星期之后你需要重新打开Xcode获取证书
**注意,模拟器无法使用Release
模式,实体iPhone无法使用Debug
模式
- 修复状态栏/控制中心无法控制进度的问题
- 修复iOS设备无法后台播放的问题
- 修复iOS设备跳转路由黑屏的问题
过往的版本
- 修复获取封面图片崩溃的问题
- 修复调整进度条歌词没有滚动的问题
- 提升了一些运行速度
- 添加远程控制的功能
- 修复Ink边界显示的问题
- 修复一个布局问题
- 添加歌曲超过API上限的提示
- 修复歌词重复请求的问题
- 添加记住播放顺序的功能
- 添加许可证页面
- 修复歌词最后一行无法高亮的问题
- 修复部分歌词缺少最后一行的问题
- 添加播放栏显示播放进度
- 添加设置播放栏播放进度方式
- 改进调整歌词大小的方式
- 改进歌词匹配逻辑
- 改进歌词匹配逻辑
- 添加修改歌词字体大小的功能
- 修复从菜单进入歌词页没有自动滚动的问题
- 简化定位歌曲逻辑
- 添加设置音质的功能 (#5)
- 修复扫描音乐库的一个问题
- 添加从播放页查看专辑/艺人详细页
- 添加从播放页将正在播放歌曲添加到歌单
- 改进播放页布局
- 添加列表页面的滚动条
- 添加刷新列表功能
- 添加修改歌单提示原来名称
- 添加从网易云音乐获取歌词
- 改进歌词滚动的效果
- 修复打开的第一首歌没有歌词的问题
- 添加清理缓存的功能
- 添加更新音乐库的功能
- 改进交互的反馈
- 禁用设备横屏幕显示
- 修复注销后重新打开app仍处于登录状态的问题
- 大幅改进滚动区域滚动效率
- 改进登录界面UI和文本框
- 改进一些过渡动画
- 现在支持搜索歌曲的同时也可以搜索艺人和专辑
- 修复定位按钮不可用的问题
- 此版本可以正常支持搜索功能
- 重构了所有界面
- 添加歌单缩略图
- 添加更新音乐库后自动重新排序
- 改进了歌词显示的效果
- 改进拖动时间轴的响应
- 提升运行效率和网络请求效率
- ❌当前版本没有搜索功能,仍在开发中
⚠️ 这是一个Beta版本,可能会有一些问题
- 大幅缩小了app体积
- 修复了导航条可能会黑底的问题
- 改进了字体显示
- 改进登录界面交互
- 改进了搜索界面
- 改进了一些UI反馈
- 修改了app id (如果你从旧版本更新,可能需要卸载老版本)
- 修复新版本Android系统无法使用http连接的问题
- 添加一些用于开发的镜像地址
- 修复更新歌曲没有更新歌曲定位的问题
- 修复提示错误
- 添加记住播放顺序的功能
- 添加外部中断播放时自动识别的功能
- 添加在播放界面查看歌曲信息
- 添加在播放界面将歌曲添加到歌单
- 改进播放界面布局
- 改进了字体显示
- 改进歌曲统计显示和操作按钮布局
- 修复歌词滚动的上下间距问题
- 修复16:9设备在播放界面的显示问题
- 清理了一些冗余代码
- 添加清理歌曲封面图片缓存的功能
- 修复安卓设备导航条黑色背景的问题 (#2)
- 本地化一些系统控件的语言
- 修复后台滚动歌词的问题
- 修复搜索框对齐的问题
- 修复搜索框无法离开焦点的问题
- 添加使用菜单来选择播放模式
- 添加了单曲循环模式
- 修复退出完全随机播放崩溃的问题
- 修复显示歌词时退出播放界面的动画问题
- 使用Material风格的底部栏
- 改进跳转到播放位置的效果
- 改进AppBar
- 修复从随机播放模式退出之后无法打开App的问题
- 添加显示歌词功能
- 稍微增长了网络请求超时的时间
- 修复Android设备AppBar显示问题
- 添加定位到当前播放歌曲的功能
- 添加所有歌曲≥500首歌曲的提示
- 播放页添加star/unstar操作
- 添加打开App的启动页面
- 添加完全随机播放
- 修改加载上次播放信息的问题
- 添加设置选项卡
- 自定义是否自动保存播放信息
- 自定义是否自动登录
- 改进刷新歌单逻辑
- 改进了参数传递的效率
- 改进了一些图标显示效果
- 改进播放界面布局
- 修复搜索时输入框为空时的错误
- 修复了歌单内容刷新没有刷新喜欢歌曲的问题
- 添加播放进度条
- 添加播放进度条的跳转功能
- 支持在设备控制中心跳转功能
- 提高页面跳转性能
- 修复重新请求出现错误的问题
- 修复页面滚动问题
- 修复暂停播放进度条错误的问题
- 修复登录时输入框遮挡问题
- 添加请求超时的提示
- 添加了新建歌单的功能
- 修改了没有及时刷新的bug
- 重构了获取版本号的逻辑
- 改进软键盘输入的交互
- 取消了底部栏上层阴影
- 添加了对Web和PWA的支持
- 解决了在PWA环境中标题栏的一些问题
- 使用just audio库代替audio players
- 添加对安卓设备的支持
- 修复一些问题
- 在Android设备上使用Material弹窗
- 修复弹窗文本错误
添加对安卓版本的支持修复一些问题
- 第一个版本
网易云音乐