基于开源网易云API+Flutter写的一款音乐播放器

历时2个多月,基于开源网易云API的一款使用Flutter开发的桌面音乐程序终于完成了它的第一个版本v1.0.0🎉。再次感谢大佬为我们整理并提供众多接口。

先来看看第一版的成品图。

本项目是基于Flutter3.0.5Dart2.17.6开发的桌面版程序,支持MacOSWindowsLinux。(PS:由于我手上只有Mac,没有试过其他两个平台,方便的大佬网友可以试下有没有问题,感谢。)

已完成的功能介绍

  • 登录:手机号密码登录,短信登录,扫码登录
  • 发现:每日音乐,推荐音乐
  • 音乐播放:在线播放,本地播放,播放列表,音量调节,上一首,下一首切换,播放模式切换
  • 音乐下载(JSON+mp3)模式,文件删除监听
  • 私人FM
  • 我喜欢的音乐
  • 我收藏的歌单列表
  • 音乐详情页,歌词滚动定位
  • 评论列表,发表文字评论

用到的主要技术栈或三方库

Provider:状态管理。

audioplayers:实现音乐的播放,因为像justaudio是不支持桌面版的。

dio:网络请求。

Image:就是自带的,只不过简单封装了下。

bitsdojo_window:主要是之前用过这个,比较熟悉,最重要的是它在处理窗口大小时是加载完后才显示,不会出现先800x800,突然变到400x400的问题。

cookie_jar:挺好用的Cookie解析库,搭配dio_cookie_manager可以做到自动管理请求中的cookie问题。当然云音乐的cookie格式有点小问题,如果不预处理下,会导致cookie_jar无法解析,需要自己先提前处理下,具体可以看下我项目中的CookieParse类。(关于这个问题我会在后面的文章里仔细说明下)使用云音乐API最难过的第一关就是这个登录和cookie问题,一不小心就给你报个460,网络太拥堵。之前一度把我恶心坏了。

path_provider:路径获取,不多说。

shared_preferences:简单好用的key-value本地持久化存储。

url_launcher:打开浏览器。

如何运行或调试

localhost

本项目支持本地服务器运行,如果要本地运行。需要先下载NeteaseCloudMusicApi项目,并通过node app.js跑起来服务端项目,再运行DreamMusic项目,不然接口是走不通的哦。

Vercel

注意了Vercel运行是要翻墙的,我已经在Vercel上部署了一个服务,跳到设置页,网络设置,点击切换,选择https://netease-cloud-music-api-eight-kappa-18.vercel.app即可。

自定义域名

当然你也可以选择自己服务器,选择网络设置,自定义输入即可。

最后

本文是关于DreamMusic的第一篇文章,主要是对该项目做一个简单的介绍,后面我会展开一篇文章专门讲讲其中的细节和开发中遇到的坑点,比如cookie怎么管理,导航控制等。最后贴上项目的Github链接👉点我跳转DreamMusic,也可以直接下载Release包。 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Node.js,提供网易云所有API接口数据,包括:登录,获取用户信息 , 歌单,收藏,mv, dj 数量 获取用户歌单 获取用户电台 获取用户关注列表 获取用户粉丝列表 获取用户动态 获取用户播放记录 获取精品歌单 获取歌单详情 搜索 搜索建议 获取歌词 歌曲评论 收藏单曲到歌单 专辑评论 歌单评论 mv 评论 电台节目评论 banner 获取歌曲详情 获取专辑内容 获取歌手单曲 获取歌手 mv 获取歌手专辑 获取歌手描述 获取相似歌手 获取相似歌单 相似 mv 获取相似音乐 获取最近 5 个听了这首歌的用户 获取每日推荐歌单 获取每日推荐歌曲 私人 FM 签到 喜欢音乐 垃圾桶 歌单 ( 网友精选碟 ) 新碟上架 热门歌手 最新 mv 推荐 mv 推荐歌单 推荐新音乐 推荐电台 推荐节目 独家放送 mv 排行 获取 mv 数据 播放 mv/视频 排行榜 歌手榜 云盘 电台 - 推荐 电台 - 分类 电台 - 分类推荐 电台 - 订阅 电台 - 详情 电台 - 节目 给评论点赞 获取动态 热搜列表(简略) 发送私信 发送私信歌单 新建歌单 收藏/取消收藏歌单 歌单分类 收藏的歌手列表 订阅的电台列表 相关歌单推荐 付费精选接口 音乐是否可用检查接口 登录状态 获取视频播放地址 发送/删除评论 热门评论 视频评论 退出登录 所有榜单 所有榜单内容摘要 收藏视频 收藏 MV 视频详情 相关视频 关注用户 新歌速递 喜欢音乐列表(无序) 收藏的 MV 列表 获取最新专辑 听歌打卡 获取视频标签下的视频 已收藏专辑列表 获取动态评论 歌单收藏者列表 云盘歌曲删除 热门话题 电台 - 推荐类型 电台 - 非热门类型 电台 - 今日优选 心动模式/智能播放 转发动态 删除动态 分享歌曲、歌单、mv、电台、电台节目到动态 通知-私信 通知-评论 通知-@我 通知-通知 设置 云盘数据详情 私信内容 我的数字专辑 batch批量请求接口 获取视频标签列表 全部mv 网易出品mv 收藏/取消收藏专辑 专辑动态信息 热搜列表(详细) 更换绑定手机 检测手机号码是否已注册 初始化昵称 更新歌单描述 更新歌单名 更新歌单标签 默认搜索关键词 删除歌单 电台banner 用户电台 热门电台 电台 - 节目详情 电台 - 节目榜 电台 - 新晋电台榜/热门电台榜 类别热门电台 云村热评 电台24小时节目榜 电台24小时主播榜 电台最热主播榜 电台主播新人榜 电台付费精品榜 歌手热门50首歌曲
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值