This commit is contained in:
gitbobobo
2024-12-25 21:20:16 +08:00
parent e8b9599283
commit 770f3896ec
14 changed files with 259 additions and 72 deletions

View File

@@ -13,11 +13,16 @@ sidebar_position: 3
- 会员身份可同时在 7 台设备上使用,超出最大数量后,最早登录的设备的会员身份将被取消。
- 会员验证方式采用**联网验证**,每次启动时随机触发验证,因此请尽量保证设备可以连接到互联网。
## 购买方式
## 购买及退款方式
仅可在手机端购买iOS 可通过应用内购买,安卓可通过支付宝购买。
仅可在手机端购买:
购买成功后可以绑定邮箱,之后可以通过邮箱验证码恢复购买,目前绑定成功后暂不支持修改,因此请勿使用临时邮箱
- iOS 可通过 AppStore 购买,购买后 3 个月内可向 AppStore 申请退款(不受开发者控制)
- 安卓可通过支付宝购买,购买后 6 个月内可联系 aqzscn@qq.com 申请退款,邮件需包含支付宝订单号。
购买成功后可以绑定邮箱,之后可以在其他设备上通过邮箱验证码恢复购买。
**邮箱绑定成功后暂不支持修改,因此请勿使用临时邮箱**
## 功能比较
@@ -31,14 +36,13 @@ sidebar_position: 3
<th>会员</th>
</tr>
<tr>
<td colspan="3" class="text-center text-bold">⚡️ 传输与播放</td>
<td colspan="3" class="text-center text-bold">🎙️ 歌词</td>
<td colspan="6" class="text-center text-bold">⚡️ 传输与播放</td>
</tr>
<tr>
<td>边听边存</td>
<td></td>
<td></td>
<td>歌词显示与编辑</td>
<td>自动播放</td>
<td></td>
<td></td>
</tr>
@@ -46,7 +50,15 @@ sidebar_position: 3
<td>自动下载</td>
<td></td>
<td></td>
<td>桌面歌词 (Android)</td>
<td>定时停止</td>
<td></td>
<td></td>
</tr>
<tr>
<td>扫码同步数据</td>
<td></td>
<td></td>
<td>回放增益</td>
<td>⭕️</td>
<td></td>
</tr>
@@ -54,100 +66,109 @@ sidebar_position: 3
<td>下载功能</td>
<td>⭕️</td>
<td></td>
<td>状态栏歌词 (Android/macOS)</td>
<td>DLNA 播放<sup>1</sup></td>
<td>⭕️</td>
<td></td>
</tr>
<tr>
<td>扫码同步数据</td>
<td colspan="6" class="text-center text-bold">🎙️ 歌词</td>
</tr>
<tr>
<td>歌词显示与编辑</td>
<td></td>
<td></td>
<td>桌面歌词 (Android)</td>
<td>⭕️</td>
<td></td>
</tr>
<tr>
<td>状态栏歌词 (Android/macOS)</td>
<td>⭕️</td>
<td></td>
<td>画中画歌词 (iOS)</td>
<td>⭕️</td>
<td></td>
</tr>
<tr>
<td>自动播放</td>
<td></td>
<td></td>
<td colspan="3" class="text-center text-bold">📱 系统功能</td>
<td colspan="6" class="text-center text-bold">📱 系统功能</td>
</tr>
<tr>
<td>定时停止</td>
<td></td>
<td></td>
<td>桌面小组件 (Android/iOS)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>回放增益</td>
<td>⭕️</td>
<td></td>
<td>迷你窗口 (macOS/Windows)</td>
<td>⭕️</td>
<td></td>
</tr>
<tr>
<td>DLNA 播放<sup>1</sup></td>
<td>⭕️</td>
<td></td>
<td>全局热键 (macOS/Windows)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>迷你窗口 (macOS/Windows)</td>
<td>⭕️</td>
<td></td>
<td>CarPlay<sup>2</sup></td>
<td>⭕️</td>
<td></td>
<td colspan="3" class="text-center text-bold">🎈 个性化</td>
</tr>
<tr>
<td colspan="3" class="text-center text-bold">🌈 外观</td>
<td>快捷指令</td>
<td>⭕️</td>
<td></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="6" class="text-center text-bold">🎈 个性化</td>
</tr>
<tr>
<td>增强手势</td>
<td></td>
<td></td>
<td>自定义 API</td>
<td></td>
<td></td>
</tr>
<tr>
<td>主题切换</td>
<td>⭕️</td>
<td></td>
<td>自定义内容</td>
<td>⭕️</td>
<td></td>
<td>主题切换</td>
<td>⭕️</td>
<td></td>
</tr>
<tr>
<td colspan="3" class="text-center text-bold">📁 资料库管理</td>
<tr>
<td>长音频偏好</td>
<td>⭕️</td>
<td></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="6" class="text-center text-bold">📁 资料库管理</td>
</tr>
<tr>
<td>多服务器切换</td>
<td>⭕️</td>
<td></td>
<td>增强手势</td>
<td>⭕️</td>
<td></td>
</tr>
<tr>
<td>文件夹视图(媒体库模式)</td>
<td>⭕️</td>
<td></td>
<td colspan="3" class="text-center text-bold">🪄 其他</td>
</tr>
<tr>
<td>重复歌曲检测(媒体库模式)</td>
<td>⭕️</td>
<td></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="6" class="text-center text-bold">🪄 其他</td>
</tr>
<tr>
<td>备用线路</td>
<td>⭕️</td>
<td></td>
<td colspan="3"></td>
</tr>
</table>
1. DLNA 功能目前兼容性较差,购买会员时请假定此功能不可用。
2. 目前 CarPlay 需要手机上打开 APP 才能使用
2. 通过 CarPlay 及快捷指令播放音乐时,若 APP 尚未打开,之后再次打开 APP 音乐会停止播放
## 新版本抢先体验

View File

@@ -43,6 +43,11 @@ Windows 版安装包是 msix 格式,安装方法[点此](./guides/install)查
:::
## 反馈建议
请通过 GitHub 的 issue 功能提交您的宝贵意见。
请通过 GitHub 的 issue 功能提交您的宝贵意见。
关注公众号可接收最新版本的通知:
![](https://oss.aqzscn.cn/resource/blog/img/2024/5645e-8796c787d6453480d3e7ac250bfdd930.png)

View File

@@ -1,6 +1,6 @@
{
"label": "开发笔记",
"position": 8,
"position": 9,
"link": {
"type": "generated-index",
"description": "音流开发过程的经验分享,随缘记录。"

View File

@@ -1,12 +1,12 @@
---
sidebar_position: 7
sidebar_position: 8
---
# 开发计划
## 正在进行
iOS 快捷指令
Navidrome 电台功能
## 上架 xx 商店

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 6
sidebar_position: 7
---
# 常见问题
@@ -120,20 +120,6 @@ Wi-Fi环境可以播放但移动网络无法播放时首先检查资料库
这是 iOS 的系统特性,非软件 bug。
### App 未打开时无法使用 CarPlay
在 App 未打开时flutter 引擎尚未初始化,此时无法接收到 CarPlay 已连接的消息,也就无法处理 CarPlay 有关的逻辑了。
:::info
相关问题:[CarPlay app required Flutter App open first?](https://github.com/oguzhnatly/flutter_carplay/issues/12)
尝试了这个帖子中的做法,可以实现不打开 app 显示 CarPlay 界面,但无法播放音乐,手动进入应用后界面会卡住不动。
等之后再研究研究。
:::
## 会员
### 恢复购买时提示签名信息错误

View File

@@ -0,0 +1,8 @@
{
"label": "实用技巧",
"position": 5,
"link": {
"type": "generated-index",
"description": "光有好剑是不够的,你还需要好的剑谱。"
}
}

View File

@@ -0,0 +1,25 @@
---
sidebar_position: 2
---
# 重复歌曲的检测与删除
随着曲库的增加,不可避免的会出现重复歌曲,这对于强迫症患者来讲简直太折磨了,遇到喜欢的歌曲都不知道该收藏哪个版本。
在音流中通过[媒体库模式](../guides/sync_mode#%E5%AA%92%E4%BD%93%E5%BA%93%E6%A8%A1%E5%BC%8F)连接并完全同步了服务端的数据后,在歌手详情页中,如果该歌手的歌曲存在重复项目,则会有**重复歌曲检测**功能的入口。
进入后即可按歌曲查看与其重复的各个版本,之后便可以根据页面的一些提示信息删除重复歌曲了。
:::info 开发者注
媒体库模式在曲库较大时体验不佳,建议仅在需要使用部分功能时切换,平时用直连模式就行。
:::
但这里有个问题,如果[连接的服务端不支持删除文件](../services#%E5%8A%9F%E8%83%BD%E6%AF%94%E8%BE%83)那该怎么办呢?
第一个解决办法,如果音流获取到的歌曲路径是真实路径,则可以复制页面中的删除命令,在其他软件中通过 SSH 连接并执行命令即可。
这样做的步骤比较复杂,还需要跨软件或跨设备操作,并不是特别好的做法。
第二个解决办法就是类似[前文](./focus_specific_audio)中的做法,通过 Docker 新建一个支持文件删除接口的服务端,在需要检测重复歌曲时,就通过音流切换到这个服务端,完整同步一遍数据之后操作即可。

View File

@@ -0,0 +1,13 @@
---
sidebar_position: 1
---
# 专注于某种音频类型
在存放音乐之外,我们可能还会将有声读物等音频加入我们的曲库。
这固然可以增加音流的使用范围,但也会引入一个新的问题——我们可能并不想在每日推荐或智能歌单等位置看到这些特殊类型的音频出现,这会中断我们当前的听歌体验。
若想解决这个问题,我们一是可以选择搭建支持媒体库分区的服务端,如 Emby 和 Jellyfin。二是可以利用 Docker 再搭建一个服务端,专门存放这些特殊类型的音频。
将这些特殊音频通过不同曲库或不同分区隔离开之后,我们就可以利用**音流可以切换资料库和分区的特性**来专注于聆听音乐或有声读物了。

33
docs/tips/lastfm.md Normal file
View File

@@ -0,0 +1,33 @@
---
sidebar_position: 4
---
# 通过 Last.FM 记录播放记录
年末的时候看到别人在发**听歌年度报告**而自己却没有?不用担心,你可以通过 Last.FM 记录你的播放记录,然后就可以在年末的时候愉快地向朋友分享了~
![](https://oss.aqzscn.cn/resource/blog/img/2024/8e26c-0835da59547fd34cc652db034d977f09.png)
由于音流非开源软件,如果直接接入 Last.FM 可能会有侵权风险,所以下面的教程将以服务端配置为例。
:::info
我已经向 Last.FM 发送邮件请求接入,但很遗憾并未得到回复。
:::
## 注册 Last.FM 账号
前往 https://www.last.fm/ 注册即可,**使用 QQ 邮箱可能会导致无法注册**。
## 通过 Navidrome 上报播放记录
在 Navidrome 的网页端启用 Last.FM 的喜好记录即可。
![](https://oss.aqzscn.cn/resource/blog/img/2024/b269c-862548c7f7e351f285de76a02c0b8389.png)
## 通过 Emby 上报播放记录
在 Emby 的管理页面中,安装元数据分类的 Last.fm 插件后重启服务器,即可在侧边栏进行配置。
![](https://oss.aqzscn.cn/resource/blog/img/2024/58760-e43cba8065b629dfcf3285068d40d7eb.png)

37
docs/tips/shortcuts.md Normal file
View File

@@ -0,0 +1,37 @@
---
sidebar_position: 3
---
# 通过快捷指令播放音乐
音流在 1.3.4 版本支持了 iOS 的快捷指令功能,以便在不打开 APP 的情况下可以通过快捷指令或 Siri 播放音乐。
:::caution
目前存在一个小问题:不打开 APP 播放音乐后进入 APP由于需要重建 Flutter 引擎,音乐会停止播放。
:::
音流提供了很多细粒度的操作,以便用户制作个性化的快捷指令:
1. 查找资料库
2. 查找资料库分区
3. 切换资料库
4. 查找艺术家
5. 查找专辑
6. 查找歌曲
7. 播放音乐
8. 停止播放
9. 获取播放状态
10. 从歌单中添加或移除歌曲列表
## 抛砖引玉
**播放我喜欢的音乐**
![](https://oss.aqzscn.cn/resource/blog/img/2024/f0825-b5659c5bff07fbad19554d9120cdbd7a.jpg)
**播放睡前故事**
![](https://oss.aqzscn.cn/resource/blog/img/2024/81994-6b0a809dcf8d1dab42b8f2ca55f72d7f.jpg)

View File

@@ -1,6 +1,6 @@
{
"label": "版本列表",
"position": 5,
"position": 6,
"link": {
"type": "generated-index",
"description": "包含历史版本更新说明和安装包下载地址。"

View File

@@ -4,13 +4,13 @@ sidebar_position: 99
# 最新版本
更新于2024-11-17
更新于2024-12-26
:::tip 护甲+1
import DayCounter from '@site/src/components/DayCounter';
音流发布至今已有 <DayCounter dateStr="2023-06-06"/> 天了,共更新了 33 个版本,还是个很年轻的播放器呢~
音流发布至今已有 <DayCounter dateStr="2023-06-06"/> 天了,共更新了 34 个版本,还是个很年轻的播放器呢~
因个人开发经验与精力所限,且要兼顾多个平台与音乐服务,更新速度与 bug 解决速度难免要慢一些,望诸君见谅。
@@ -25,6 +25,65 @@ import WindowIcon from '@mui/icons-material/Window';
import AppleIcon from '@mui/icons-material/Apple';
import AndroidIcon from '@mui/icons-material/Android';
## V1.3.42024-12-26
:::caution
由于每日的下载量逐渐增大CDN 流量成本已经有些难以承受。今后正式版本的**下载链接将通过网盘或 Github Release 发布**。
很抱歉给您造成的不便,不过请相信这都是暂时的,明年我将把上架安卓应用商店列为首要事项。
:::
<Tabs groupId="operating-systems">
<TabItem value="android" label="Android">
<div class="mv-sm">
<Button variant="contained" startIcon={<AndroidIcon />} target="_blank" href="https://wwco.lanzouq.com/b00jdws8cj">立即下载</Button>
<span class="ml-md gray">密码: bd39</span>
</div>
</TabItem>
<TabItem value="win" label="Windows">
<div class="mv-sm">
<Button variant="contained" startIcon={<WindowIcon />} target="_blank" href="https://www.ilanzou.com/s/dfMyb5zg">立即下载</Button>
<span class="ml-md gray">MD5: 0312775fa5ab5e7d829bb95ef2f19791</span>
</div>
:::caution
若安装失败请查看[安装教程](../guides/install)
:::
</TabItem>
<TabItem value="mac" label="macOS">
<div class="mv-sm">
<Button variant="contained" startIcon={<AppleIcon />} target="_blank" href="https://www.ilanzou.com/s/ZpwybpnX">立即下载</Button>
<span class="ml-md gray">MD5: 8f413127e9ba4bc1eb398cdf10a18956</span>
</div>
</TabItem>
</Tabs>
更新内容:
- 👑 iOS 支持快捷指令
- 移动端首页支持显示用户头像Emby,Jellyfin,Plex可用
- [windows 使用 NotoSansSC-Regular 作为默认字体](https://github.com/gitbobobo/StreamMusic/issues/760)
- 支持[m4a格式转码播放](https://github.com/gitbobobo/StreamMusic/issues/611)
- 多线路增加蜂窝网络偏好
- 应用内添加安卓桌面歌词解锁按钮
- [增加上滑控制栏打开播放页的开关](https://github.com/gitbobobo/StreamMusic/issues/671)
- [桌面端图片资源均使用原图](https://github.com/gitbobobo/StreamMusic/issues/721)
- [CarPlay 艺术家列表支持按字母跳转](https://github.com/gitbobobo/StreamMusic/issues/698)
- 修复不打开APP无法使用 CarPlay 的问题
- 修复[创建歌单后,首页数据未刷新](https://github.com/gitbobobo/StreamMusic/issues/725)的问题
- 修复 [strm 文件无法播放的问题](https://github.com/gitbobobo/StreamMusic/issues/716)
- 修复[歌手详情专辑排序问题](https://github.com/gitbobobo/StreamMusic/issues/686)
- 修复 [Jellyfin 无法播放 ipv6 音乐链接的问题](https://github.com/gitbobobo/StreamMusic/issues/756)
- 修复[无法通过 Emby 的 Last.fm 插件上报播放记录的问题](https://github.com/gitbobobo/StreamMusic/issues/713)
- 修复 [Windows 端迷你窗口双击后会全屏显示的问题](https://github.com/gitbobobo/StreamMusic/issues/702)
- 修复[队列结尾无法下一曲到第一首的问题](https://github.com/gitbobobo/StreamMusic/issues/654)
## V1.3.32024-11-17
<Tabs groupId="operating-systems">

View File

@@ -12,7 +12,7 @@
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"gen-link": "node ./scripts/link.js 1.3.3 /Users/godbobo/work/music/release"
"gen-link": "node ./scripts/link.js 1.3.4 /Users/godbobo/work/music/release"
},
"dependencies": {
"@docusaurus/core": "3.1.1",

View File

@@ -60,26 +60,26 @@ import AndroidIcon from '@mui/icons-material/Android';
<Tabs groupId="operating-systems">
<TabItem value="android" label="Android">
<div class="mv-sm">
<Button variant="contained" startIcon={<AndroidIcon />} href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-arm64-v8a-release.apk">ARM64 版本</Button>
<Button variant="contained" startIcon={<AndroidIcon />} target="_blank" href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-arm64-v8a-release.apk">ARM64 版本</Button>
<span class="ml-md gray">MD5: ${androidArm64Md5}</span>
</div>
<div class="mv-sm">
<Button variant="contained" startIcon={<AndroidIcon />} href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-armeabi-v7a-release.apk">ARMV7 版本</Button>
<Button variant="contained" startIcon={<AndroidIcon />} target="_blank" href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-armeabi-v7a-release.apk">ARMV7 版本</Button>
<span class="ml-md gray">MD5: ${androidArmv7Md5}</span>
</div>
<div class="mv-sm">
<Button variant="contained" startIcon={<AndroidIcon />} href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-x86_64-release.apk">x86 版本</Button>
<Button variant="contained" startIcon={<AndroidIcon />} target="_blank" href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-x86_64-release.apk">x86 版本</Button>
<span class="ml-md gray">MD5: ${androidX86Md5}</span>
</div>
<div class="mv-sm">
<Button variant="contained" startIcon={<AndroidIcon />} href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-release.apk">通用版本(体积较大)</Button>
<Button variant="contained" startIcon={<AndroidIcon />} target="_blank" href="https://oss.aqzscn.cn/stream-music/versions/${version}/app-release.apk">通用版本(体积较大)</Button>
<span class="ml-md gray">MD5: ${androidUniversalMd5}</span>
</div>
</TabItem>
<TabItem value="win" label="Windows">
<div class="mv-sm">
<Button variant="contained" startIcon={<WindowIcon />} href="https://oss.aqzscn.cn/stream-music/versions/${version}/stream_music_${version}.0.msix">立即下载</Button>
<Button variant="contained" startIcon={<WindowIcon />} target="_blank" href="https://oss.aqzscn.cn/stream-music/versions/${version}/stream_music_${version}.0.msix">立即下载</Button>
<span class="ml-md gray">MD5: ${windowsMd5}</span>
</div>
@@ -92,7 +92,7 @@ import AndroidIcon from '@mui/icons-material/Android';
<TabItem value="mac" label="macOS">
<div class="mv-sm">
<Button variant="contained" startIcon={<AppleIcon />} href="https://oss.aqzscn.cn/stream-music/versions/${version}/StreamMusic_${version}.dmg">立即下载</Button>
<Button variant="contained" startIcon={<AppleIcon />} target="_blank" href="https://oss.aqzscn.cn/stream-music/versions/${version}/StreamMusic_${version}.dmg">立即下载</Button>
<span class="ml-md gray">MD5: ${macMd5}</span>
</div>
</TabItem>