ddddxxx / LyricsX

🎶 Ultimate lyrics app for macOS.
Mozilla Public License 2.0
4.67k stars 387 forks source link

Big Sur无法读取Apple Music曲目的信息 #437

Closed hououinkami closed 3 years ago

hououinkami commented 3 years ago

macOS:Big Sur正式版 App:系统原生“音乐”App 本地曲目或是添加到曲库的Apple Music曲目可以正常显示, 但未添加到曲库的Apple Music的曲目,无法读取歌曲信息,手动打开搜索面板信息也为空

429 这位同学的问题估计是一样的

P.S Apple Script的get current track对于Apple Music曲目也失效了,不知道是不是同一个原因,一直在用这个命令的我哭了😂

ddddxxx commented 3 years ago

已确认 macOS 11.0.1 下 Music 不会通过 AppleScript 提供未添加到曲库的Apple Music的曲目信息。可以通过以下命令验证:

$ osascript -e 'tell app "Music" to get name of current track'

Music 的集成是通过 AppleScript 完成的,LyricsX 无法单方面解决这个问题,只能等待 Apple 修复。

将首选播放器切换到系统的正在播放应用可以绕过这个问题,即从控制中心直接读取歌曲信息。请将播放器设为“自动选择”并在实验室中开启“使用系统正在播放的应用”。注意这样会禁用一些 Music 专用的功能,例如“写入歌词到 iTunes”,也无法获取到专辑封面。

hououinkami commented 3 years ago

已确认 macOS 11.0.1 下 Music 不会通过 AppleScript 提供未添加到曲库的Apple Music的曲目信息。可以通过以下命令验证:

$ osascript -e 'tell app "Music" to get name of current track'

Music 的集成是通过 AppleScript 完成的,LyricsX 无法单方面解决这个问题,只能等待 Apple 修复。

将首选播放器切换到系统的正在播放应用可以绕过这个问题,即从控制中心直接读取歌曲信息。请将播放器设为“自动选择”并在实验室中开启“使用系统正在播放的应用”。注意这样会禁用一些 Music 专用的功能,例如“写入歌词到 iTunes”,也无法获取到专辑封面。

想请教一下,Big Sur下能否通过Apple Script或是终端命令获取“系统正在播放中”的曲目的信息呢?(比如说网页播放、其他app内播放等途径,“系统正在播放”中都会显示曲目信息)这样就可以获取到AppleMusic曲目的信息供自己使用了。如果有的话能否麻烦指教一下呢?谢谢! P.S 之前没用实验室功能没进去看,进去实验室设置页之后才发现,之前我提供的日语翻译在这个页面有点不妥,回头我去修复一下翻译😂

ddddxxx commented 3 years ago

就我所知没有开箱即用的 shell 和 AppleScript 接口。你可以参考 LyricsX 的实现,代码在这里这里

hououinkami commented 3 years ago

谢谢🙏不过没有开发经验看着这么厉害一个项目里的单独两个文件,作业有点难抄😂我琢磨琢磨😂谢谢

arjenzhou commented 3 years ago

Big Sur 11.3 解决了这个问题 https://developer.apple.com/forums/thread/669239