mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/gitbobobo/StreamMusic.git
synced 2026-09-20 08:04:01 +08:00
1.2.7
This commit is contained in:
@@ -4,13 +4,16 @@ sidebar_position: 1
|
||||
|
||||
# 介绍
|
||||
|
||||
音流是一款 **NAS 音乐播放器**,可以连接到您部署在 NAS 上的 Subsonic、Navidrome、Audio Station、Emby 或 Jellyfin 服务,能让您在不同平台享受一致的音乐盛宴(目前支持 Android、iOS、macOS 和 Windows 平台)。
|
||||
音流是一款 **NAS 音乐播放器**,可以连接到您部署在 NAS 上的**音乐服务**<sup>1</sup>,能让您在**不同平台**<sup>2</sup>享受一致的音乐盛宴。
|
||||
|
||||

|
||||
|
||||
1. 目前支持的音乐服务: Subsonic,Navidrome,Emby,Jellyfin,AudioStation,Plex.
|
||||
2. 目前支持的平台: Android 5.0, iOS 14, macOS 10.14, Windows 10.
|
||||
|
||||
## 要求
|
||||
|
||||
在使用音流之前,您必须拥有一台运行着 Subsonic、Navidrome、Audio Station、Emby 或 Jellyfin 任一服务的 NAS,因为音流是一个纯粹的音乐播放器,专注于串流您已拥有的音乐,并不提供任何音乐资料。
|
||||
在使用音流之前,您必须拥有一台运行着音乐服务的 NAS,因为音流是一个纯粹的音乐播放器,专注于串流您已拥有的音乐,并不提供任何音乐资料。
|
||||
|
||||
:::info
|
||||
|
||||
|
||||
8
docs/notes/_category_.json
Normal file
8
docs/notes/_category_.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"label": "开发笔记",
|
||||
"position": 8,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "音流开发过程的经验分享,随缘记录。"
|
||||
}
|
||||
}
|
||||
41
docs/notes/plugins.md
Normal file
41
docs/notes/plugins.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 插件分享
|
||||
|
||||
如果没有开源项目的支持,就不会有现在的音流~
|
||||
|
||||
## 界面
|
||||
|
||||
### macos_ui
|
||||
|
||||
macos_ui 与 Flutter 自带的 Material Widgets 和 Cupertino Widgets 一样,都是为了实现在对应平台设计语言的组件库。
|
||||
|
||||
[点此查看](https://macosui.github.io/macos_ui/#/)在线演示。
|
||||
|
||||

|
||||
|
||||
### fluent_ui
|
||||
|
||||
fluent_ui 是用于实现 Windows 平台 fluent 设计语言的组件库,这里面的组件相较于 `macos_ui` 里的组件功能更加完善。
|
||||
|
||||
[点此查看](https://bdlukaa.github.io/fluent_ui/)在线演示。
|
||||
|
||||

|
||||
|
||||
### pulldown_button
|
||||
|
||||
[pulldown_button](https://github.com/notDmDrl/pull_down_button) 实现了类似 iOS 下拉菜单的效果,动画效果十分丝滑,如果能支持二级菜单就更完美了。
|
||||
|
||||

|
||||
|
||||
## 平台相关
|
||||
|
||||
### macos_window_utils
|
||||
|
||||
macos_window_utils 是 `macos_ui` 作者的另一作品,主要功能是控制窗口的各种属性,如是否模糊、是否隐藏标题栏等,配合 macos_ui 食用更佳。
|
||||
|
||||
### flutter_acrylic
|
||||
|
||||
flutter_acrylic 可以在 macOS、Windows、Linux 平台实现窗口模糊/透明效果,其中 macOS 依赖了 `macos_window_utils` 插件,因此如果使用此插件就无需再引入 `macos_window_utils` 了。
|
||||
@@ -6,7 +6,7 @@ sidebar_position: 7
|
||||
|
||||
## 正在进行
|
||||
|
||||
适配 Plex!
|
||||
提升播放功能兼容性与稳定性!
|
||||
|
||||
## 更新频率
|
||||
|
||||
@@ -20,7 +20,7 @@ sidebar_position: 7
|
||||
|
||||
不准备单独推出车机版,现有版本适配了手机、平板的界面,只要能安装,应该就能在车机上使用。
|
||||
|
||||
安卓 TV 版将在适配 Plex 和 威联通音乐套件后开始开发,敬请期待。
|
||||
安卓 TV 版将于 1.3.0 推出,敬请期待。
|
||||
|
||||
苹果 TV 版将在安卓 TV 版适配完成后调研适配可行性,不保证会推出。
|
||||
|
||||
@@ -38,6 +38,6 @@ sidebar_position: 7
|
||||
|
||||
## 支持新的音乐服务
|
||||
|
||||
Plex 和 威联通音乐套件有支持计划,敬请期待。
|
||||
威联通音乐套件有支持计划,敬请期待。
|
||||
|
||||
Webdav、云盘及本地音乐暂不考虑开发,作为远期规划。
|
||||
@@ -67,12 +67,26 @@ Flac 文件没有 seekTable 信息,在 iOS 端会存在此问题。
|
||||
|
||||
这似乎发生在安卓手机锁屏之后,目前暂未发现解决办法,具体处理进度参见问题 [Android MediaItem is not updating on car display through bluetooth](https://github.com/ryanheise/audio_service/issues/908)。
|
||||
|
||||
### 安卓开启桌面歌词后 Bitwarden 应用内无响应
|
||||
|
||||
这应该是 Bitwarden 的安全机制导致的,因为识别到了悬浮窗。
|
||||
|
||||
:::info
|
||||
|
||||
相关问题:[Android Bitwarden App - controls not working](https://www.reddit.com/r/Bitwarden/comments/x0jmbr/android_bitwarden_app_controls_not_working/)
|
||||
|
||||
:::
|
||||
|
||||
### App 未打开时无法使用 CarPlay
|
||||
|
||||
在 App 未打开时,flutter 引擎尚未初始化,此时无法接收到 CarPlay 已连接的消息,也就无法处理 CarPlay 有关的逻辑了。
|
||||
|
||||
:::info
|
||||
|
||||
这似乎是 Flutter 应用的硬伤?也可能是我了解的不多,如果不显示界面就能触发 Flutter 引擎初始化的话应该就可以解决这个问题了。
|
||||
相关问题:[CarPlay app required Flutter App open first?](https://github.com/oguzhnatly/flutter_carplay/issues/12)
|
||||
|
||||
尝试了这个帖子中的做法,可以实现不打开 app 显示 CarPlay 界面,但无法播放音乐,手动进入应用后界面会卡住不动。
|
||||
|
||||
等之后再研究研究。
|
||||
|
||||
:::
|
||||
@@ -8,27 +8,28 @@ sidebar_position: 2
|
||||
|
||||
## 支持版本
|
||||
|
||||
- Subsonic 1.15.0 及以上
|
||||
- Navidrome 0.49.3 及以上
|
||||
- Jellyfin 10.8.10 及以上
|
||||
- Plex 1.29.2 及以上,支持 OTP 验证码登录
|
||||
- AudioStation DSM 6 及以上,支持 OTP 验证码登录
|
||||
- Emby 4.7.14.0 及以上
|
||||
- AudioStation DSM 6 及以上,支持密码及 OTP 验证码登录
|
||||
- Jellyfin 10.8.10 及以上
|
||||
- Subsonic 1.15.0 及以上
|
||||
|
||||
## 音乐相关功能
|
||||
|
||||
`-` 未知
|
||||
|
||||
| | Subsonic | Navidrome | Audio Station | Emby | Jellyfin |
|
||||
| ------- | ------- | ------- | --- | --- | --- |
|
||||
| 内嵌歌词 | - | ✅ | | ✅ | |
|
||||
| 外置歌词 | - | | ✅ | ✅ | |
|
||||
| 在线歌词 | - | | ✅ | ✅ | |
|
||||
| 歌手简介 | - | ✅ | ✅ | ✅ | ✅ |
|
||||
| 歌手头像 | - | *<sup>1</sup> | *<sup>2</sup> | ✅ | ✅ |
|
||||
| 多艺术家 | - | | - | ✅ | ✅ |
|
||||
| 回放增益标签 | - | ✅ | | | |
|
||||
| 收藏功能 | ✅ | ✅ | *<sup>3</sup> | ✅ | ✅ |
|
||||
| | Subsonic | Navidrome | Audio Station | Emby | Jellyfin | Plex |
|
||||
| ------- | ------- | ------- | --- | --- | --- | --- |
|
||||
| 内嵌歌词 | - | ✅ | | ✅ | | |
|
||||
| 外置歌词 | - | | ✅ | ✅ | | ✅ |
|
||||
| 在线歌词 | - | | ✅ | ✅ | | ✅ |
|
||||
| 歌手简介 | - | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 歌手头像 | - | *<sup>1</sup> | *<sup>2</sup> | ✅ | ✅ | ✅ |
|
||||
| 多艺术家 | - | | - | ✅ | ✅ | |
|
||||
| 回放增益标签 | - | ✅ | | | | ✅ |
|
||||
| 收藏功能 | ✅ | ✅ | *<sup>3</sup> | ✅ | ✅ | *<sup>3</sup> |
|
||||
|
||||
1. Navidrome 若要显示歌手头像,需要配置 Spotify API(国内环境即使配置了也很难有作用),或在歌手文件夹下放一张名为 `artist.*` 的图片。[Artwork location resolution](https://www.navidrome.org/docs/usage/artwork/#artists)
|
||||
2. Audio Station 的歌手头像用的是音乐库中的专辑图片。
|
||||
3. Audio Station 没有收藏功能,音流是通过歌单接口间接实现的此功能。此外,Emby 和 Jellyfin 收藏后不记录收藏时间,因此无法实现按收藏时间倒序的功能。
|
||||
3. Audio Station 和 Plex 没有收藏功能,音流会将评级为 🌟🌟🌟🌟🌟 的歌曲视为收藏的歌曲。此外,Emby 和 Jellyfin 收藏后不记录收藏时间,因此无法实现按收藏时间倒序的功能。
|
||||
@@ -6,6 +6,47 @@ sidebar_position: 99
|
||||
|
||||
更新于:2024-03-15
|
||||
|
||||
:::tip 护甲+1
|
||||
|
||||
import DayCounter from '@site/src/components/DayCounter';
|
||||
|
||||
音流发布至今已有 <DayCounter dateStr="2023-06-06"/> 天了,共更新了 27 个版本,还是个很年轻的播放器呢~
|
||||
|
||||
因个人开发经验与精力所限,且要兼顾多个平台与音乐服务,更新速度与 bug 解决速度难免要慢一些,望诸君见谅。
|
||||
|
||||
但我始终相信:下个版本会更好!
|
||||
|
||||
:::
|
||||
|
||||
## V1.2.7(2024-04-08)
|
||||
|
||||
更新内容:
|
||||
|
||||
- 支持[专辑/歌手收藏功能](https://github.com/gitbobobo/StreamMusic/issues/155),增加对应的筛选功能
|
||||
- 删除自动切换离线模式的逻辑
|
||||
- 调整部分界面的弹出菜单样式
|
||||
- 降低联网验证会员身份的概率
|
||||
- 支持多艺术家【[#116](https://github.com/gitbobobo/StreamMusic/issues/116), [#96](https://github.com/gitbobobo/StreamMusic/issues/96)】
|
||||
- 自定义 API 封面接口支持单独配置获取专辑还是歌手(取消请求歌曲封面,[统一改为获取专辑封面](https://github.com/gitbobobo/StreamMusic/issues/209))
|
||||
- [提升歌词解析的兼容性](https://github.com/gitbobobo/StreamMusic/issues/190)
|
||||
- 支持[连接至 Plex](https://github.com/gitbobobo/StreamMusic/issues/43),暂未适配转码播放,请注意流量消耗(下个版本适配)
|
||||
- Audio Station 喜欢功能调整为获取五星评分的歌曲
|
||||
- Emby 禁止直接创建歌单,可选中歌曲后在添加到歌单的弹框中创建新歌单
|
||||
- 修复[Subsonic 封面图片混乱的问题](https://github.com/gitbobobo/StreamMusic/issues/189)
|
||||
- [桌面端点击控制栏可显示播放控制按钮](https://github.com/gitbobobo/StreamMusic/issues/182),用于适配触屏操作
|
||||
- Windows 改为单进程应用
|
||||
|
||||
安卓版下载地址:
|
||||
|
||||
- [app-arm64-v8a-release.apk](https://oss.aqzscn.cn/stream-music/versions/1.2.7/app-arm64-v8a-release.apk)
|
||||
- [app-armeabi-v7a-release.apk](https://oss.aqzscn.cn/stream-music/versions/1.2.7/app-armeabi-v7a-release.apk)
|
||||
- [app-x86_64-release.apk](https://oss.aqzscn.cn/stream-music/versions/1.2.7/app-x86_64-release.apk)
|
||||
- [app-release.apk](https://oss.aqzscn.cn/stream-music/versions/1.2.7/app-release.apk)
|
||||
|
||||
Mac 下载地址:[音流v1.2.7.dmg](https://oss.aqzscn.cn/stream-music/versions/1.2.7/音流v1.2.7.dmg)
|
||||
|
||||
Windows 版下载地址:[stream_music_1.2.7.0.msix](https://oss.aqzscn.cn/stream-music/versions/1.2.7/stream_music_1.2.7.0.msix)
|
||||
|
||||
## V1.2.6(2024-03-15)
|
||||
|
||||
更新内容:
|
||||
|
||||
12
src/components/DayCounter/index.js
Normal file
12
src/components/DayCounter/index.js
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
export default function DayCounter({dateStr}) {
|
||||
// 计算当前日期与传入的日期之间的天数
|
||||
const date1 = new Date();
|
||||
const date2 = new Date(dateStr);
|
||||
const diffTime = Math.abs(date2 - date1);
|
||||
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
||||
|
||||
return (
|
||||
<span>{diffDays}</span>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user