phpusr / yandex-music-player

Yandex Music desktop Electron application with MPRIS support
GNU General Public License v3.0
38 stars 7 forks source link

Media buttons issue #7

Open ssstroke opened 2 years ago

ssstroke commented 2 years ago

When pausing a track with media keys on keyboard (Fn + Play/Pause) the song won't play again, even if I click play in the app with mouse/space, the icon changes to pause icon (two bars), but the song isn't playing, timeline doesn't go further. It starts working again when I change the song.

Also buttons Next/Previous do not work at all.

OS: Arch Linux Kernel: 5.16.16-arch1-1 Desktop environment: Plasma 5.24.3

phpusr commented 2 years ago

Hi, have you always had this problem? Or did it appear after the last update? I don't see this problem myself.

How does the player respond to commands?

playerctl pause
playerctl play
ssstroke commented 2 years ago

I can't say for sure if it was before or after last update, but as far as I remember it was before.

I installed playerctl and these commands work just fine. But if I pause song with media buttons, it stops working. Just like I have described: state (icon) changes, timeline doesn't go further.

I think it's worth mentioning I am using Lenovo ThinkPad X220, maybe it helps somehow.

phpusr commented 2 years ago

Check how the command works

playerctl play-pause

If all the commands in the playerctl work fine, then the problem is probably in Desktop environment. Try installing xfce or something else and see how it goes.

I use sway.

ssstroke commented 2 years ago

playerctl play-pause works fine. I think I found something.

Inside Plasma there is a system service that controls media. Whenever some media plays, browser, media player, etc., system tray icon appears, from where you can control this media (see screenshots). When yandex-music-player is opened, for some reason there are two instances of it. First one is called YandexMusic media player and the other one is yandex-music-player.

YandexMusic media player displays album cover, while yandex-music-player displays "Track - Title" when something is playing and "Yandex Music: We bring music and podcasts to you" when nothing plays at the moment. And I am able to resume playing with these media controls after pausing with media buttons.

I suppose that these two instances somehow interrupt each other, like, one instance starts playing, when the second one is pausing just after that.