gitbobobo/StreamMusic

iOS 音流 1.3.2 版本连接 Navidrome 无法正常播放音乐和显示音乐封面

Closed this issue · 9 comments

Describe the bug

使用 iOS 18.0.1 上的 1.3.2 版本音流尝试连接 Navidrome 0.51.1,发现无法正常播放音乐和显示音乐封面。

之前使用 iPhone 12 Pro Max 搭配 1.3.0 版本,能正常使用。更换设备为 iPhone 14 Pro Max 后,下载了最新的 1.3.2 版本音流,在服务器设置一样的情况下出现此问题。

然后更新 iPhone 12 Pro Max 上的音流到 1.3.2 版本,发现同样出现了此问题。

直连模式和媒体库模式均存在此问题。

NAS 上没有配置其他音乐服务器,因此不确定是否是 Navidrome 导致的问题。

Screenshots (截图)

IMG_7183

IMG_7184

在 Navidrome 的 docker log 中观察,在之前使用 1.3.0 版本正常播放时,log 中提示的是「Streaming file」

time="2024-10-11T03:56:23Z" level=info msg="Streaming file" artist=KUCCI bitRate=0 cached=false format=raw originalBitRate=1703 originalFormat=flac requestId=19a570d62fea/BqovC01QBP-013845 title="Color Song" transcoding=false user=Senyao username=Senyao
time="2024-10-11T03:56:32Z" level=info msg="Streaming file" artist=KUCCI bitRate=0 cached=false format=raw originalBitRate=1703 originalFormat=flac requestId=19a570d62fea/BqovC01QBP-013848 title="Color Song" transcoding=false user=Senyao username=Senyao
time="2024-10-11T03:56:38Z" level=info msg="Streaming file" artist="Coi Leray" bitRate=0 cached=false format=raw originalBitRate=1645 originalFormat=flac requestId=19a570d62fea/BqovC01QBP-013850 title=Players transcoding=false user=Senyao username=Senyao
time="2024-10-11T03:56:50Z" level=info msg="Streaming file" artist="SHARK卫彬月" bitRate=0 cached=false format=raw originalBitRate=886 originalFormat=flac requestId=19a570d62fea/BqovC01QBP-013854 title="宇宙飞行" transcoding=false user=Senyao username=Senyao

然后现在使用 1.3.2 版本,尝试播放(播不出来)时,log 中提示的是「Now Playing」

time="2024-10-11T03:56:51Z" level=info msg="Now Playing" artist="黑豹乐队" player="Stream Music [Dart]" requestId=19a570d62fea/BqovC01QBP-013857 title="无地自容" user=Senyao username=Senyao
time="2024-10-11T03:57:26Z" level=info msg="Now Playing" artist="Red Hot Chili Peppers" player="Stream Music [Dart]" requestId=19a570d62fea/BqovC01QBP-013866 title="Suck My Kiss" user=Senyao username=Senyao
time="2024-10-11T03:57:27Z" level=info msg="Now Playing" artist="Jerry Lee Lewis" player="Stream Music [Dart]" requestId=19a570d62fea/BqovC01QBP-013869 title="Great Balls of Fire" user=Senyao username=Senyao
time="2024-10-11T04:01:09Z" level=info msg="Now Playing" artist="Three Days Grace" player="Stream Music [Dart]" requestId=19a570d62fea/BqovC01QBP-013889 title="The Mountain" user=Senyao username=Senyao

Platform and Device Info

  • OS: iOS 18.0.1
  • Version 1.3.2

Music Server Type

Navidrome 0.51.1

Now Playing 应该是音流开始播放音乐时回传给服务器的信息(132开始支持)。

看你截图展示似乎图片都没有加载到,可以尝试重新登录或者卸载重装看看有没有用

Now Playing 应该是音流开始播放音乐时回传给服务器的信息(132开始支持)。

看你截图展示似乎图片都没有加载到,可以尝试重新登录或者卸载重装看看有没有用

试了一下,重新登录、卸载音流重装、重启 Navidrome 都没有解决问题,还有什么方法可以尝试,或者还有什么信息我可以去检查一下来 debug 吗

看下日志报错信息,或者邮箱发我一个可以公网访问的测试账号

已将测试账号发送到 aqzscn@qq.com

经测试,应该是证书问题导致的,132版本正在逐步切换到新的http客户端,应该是新客户端无法识别你的证书颁发者导致的。

不清楚你是否可以尝试更换let's encrypt 颁发的证书,如果不行的话,之后我加一个导入信任证书的功能。

我刚刚尝试更换了 Let's Encrypt 的证书,重启 nginx 和 Navidrome

0211e5cedc9cae7df989b86f5851dd6

然后卸载重装了音流再次尝试,遗憾的是,问题依然存在。

如果使用 http 直接连接,不使用 https,发现一切正常,应该就是 https 证书相关导致的问题。

不清楚你怎么申请的,感觉还是你的证书有问题

用这个网站 https://www.ssllabs.com/ssltest/ 检测你的地址,也会直接报错,正常来说是会得到类似这样的结果的

image

感觉最有可能是证书链不完整导致的

经过检查,确认就是我在配置 SSL 证书时没做好,证书链不完整导致的一系列问题。

我重新用 Let's Encropy 申请并安装了证书,然后重启 Nginx 后,使用 https://www.digicert.com/help/ 检查,输出 TLS Certificate is correctly installed.

此时音流就可以正常播放音乐和显示音乐封面了,不过 https://www.ssllabs.com/ssltest/ 检测还是报错 Internal Server Error,原因不明。

再次感谢您的帮助!如果有类似问题的朋友可以参考 https://senyao.org/ssl-config/