-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
通过 Mpris 接口 Metadata::xesam:asText
提供歌词
#268
Comments
没有使用mpris的歌词接口是为了减少网络请求次数,将歌词缓存在本地,当再次需要时可以直接从本地读取。缓存lrc和使用asText功能上是重复的,如果只实现一个的话缓存lrc性价比会更高一些。 |
上面的 patch 只是在更新 PlayListLyricsPage 的歌词时顺便更一下 Mpris,获取歌词的方式根本没变。更新 Mpris 也需要网络请求吗? |
我的意思是,更新Mpris歌词与缓存歌词文件在目的上是重复的,如果二选一选择mpris的asText传送歌词,会造成每次都要请求网络。 另外如果只在打开播放列表页面时才触发更新mpris歌词,这样该操作是没有意义的。 |
在打开判定之前更新的。 这里启用桌面歌词支持时每次都会下载/读取本地歌词,顺便更新一下 Mpris 不好吗?读了不能传,要传不能存(读),苦涩的选择。目前如果本地有文件,扩展那边要多读一次,否则就多一次注定失败的网络请求,也算重复吧。既然如此,你可能要按需读取。 谢谢回答。 |
另外发现在这每250ms更新进度条时 Mpris 会发 建议在自动更新进度条时不要发 谢谢。 |
如果不更新 position 你的歌词插件该如何确定当前播放位置? 特别是反复前后拖拉进度条后,会不会有影响。 更新 seeked 是为了让别的 mpris 播放插件同步播放条进度。 我上次测试gnome-music 在反复前后拖拉进度条时好像会卡住,具体情况忘了,反正就是做了取舍才弄成现在这样。 最近在忙装修,可以把你的建议先说下,我等闲了再研究研究看怎么弄。 |
客户端维护有 timer,获取当前 position 一般为初始化而非同步。拖动进度条结束发一次
服务端
gnome-music 的实现有问题,表现为拖动过程中
这听起来有点像某软件每秒截30次屏来实现屏幕共享。尤其结合上文,为某进度条每250ms发一次信号,却不愿为歌词更一次元数据,就显得很有意思:) 总之,这信号据说 indicates that the track position has changed in a way that is inconsistant with the current playing state,用于同步不失为另辟蹊径吧。
祝好。建议先前有一些了,刚打开播放列表没找到移除歌曲的办法,不确定这是 Feature 还是 Bug。 就这样吧。 |
你好,我在尝试使用 asText 提供歌词时,desktop-lyrics 没有正常工作,问题如下: 1、播放歌曲时,在使用asText推送歌词的情况下,desktop-lyrics 依然会自动下载歌词,测试应该是没有使用我用asText提供的歌词; 2、当播放下面的歌曲时,没有任何反应,也没有自动下载歌词。
歌词如下(已测试去掉换行符问题依旧):
|
GNOME45及以后的版本才支持,如果版本没问题看看
另外无 |
GNOME 版本是 45.3, Metadata 中可以正常获取歌词: 下面是我编译好的程序你可以测试下,如果不能运行我再把源代码打包了发你。 |
用此提交(对应扩展网站上的版本19)在GNOME46上测试发现你编译的 grsource 文件路径硬编码为本地,不过我用软连接解决了。 |
已经可以正常显示了,不过osdlyrics 貌似不支持 xesam:asText 接口,这样的话还是要保留从歌词文件读取歌词的功能。 |
这个 Feature Request 算是此评论的后续。
这样做可以每首歌少读一次文件,而且文件名格式更自由有利于解决 #264 这类问题,也可以加songId之类的精确匹配。
我不会 rust,弄的这个 patch 可能有问题,但可以工作:
lyrics.patch
貌似 Github 不支持上传 patch 文件,那直接贴这儿了。
The text was updated successfully, but these errors were encountered: