music-assistant / hass-music-assistant

Turn your Home Assistant instance into a jukebox, hassle free streaming of your favorite media to Home Assistant media players.
Apache License 2.0
1.33k stars 49 forks source link

Google Cast devices don't have any option besides play/pause when playing #2969

Open rohankapoorcom opened 6 days ago

rohankapoorcom commented 6 days ago

What version of Music Assistant has the issue?

2.2.2

What version of the Home Assistant Integration have you got installed?

2024.9.1

Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

The problem

When Music Assistant is playing to Google Cast devices, the cast devices themselves no longer have a skip forward (next track) or a rewind (previous track) option on the screen (if a device has a screen) or from the google home app on android / ios. Strangely enough a voice command to google to "skip" or "previous song" still works as expected. The Music Assistant frontend still has the normal next/previous buttons as expected.

This makes it so that devices with their own buttons / remotes are not able to control playback beyond play / pause.

Photos attached of Google Home app and the Google Cast device screen:

image image

How to reproduce

  1. Use Music Assistant (web interface) to play an album (or a playlist with several songs) to a google cast device.
  2. While the music is playing, look at the google home app for that cast device (or the device itself if it has a screen).
  3. Observe that there is no forward/back button.
  4. Ask google to "skip" or "play the next song".
  5. Observe that Music Assistant goes to the next song.

As an alternative that works (without Music Assistant):

  1. Use the Spotify app to cast to the same speaker with an album or a playlist with several songs.
  2. While the music is playing, look at the google home app for that cast device (or the device itself if it has a screen).
  3. Observe that there is a forward/back button.
  4. Clicking the forward button will start the next song.

Music Providers

Spotify & Plex both exhibit this problem. I don't have any other music providers to test with.

Player Providers

Google Cast devices. This problem appears with both individual devices as well as Google Cast groups. I do not have any other player types to test with.

Full log output

music-assistant.log

Additional information

I have confirmed that queue flow mode is disabled on all of my players per the known issues section of the documentation.

What version of Home Assistant Core are your running

2024.8.1

What type of installation are you running?

Home Assistant Core

On what type of hardware are you running?

Generic x86-64 (e.g. Intel NUC)

marcelveldt commented 2 days ago

Yes, this is a known limitation when we're streaming to Google Cast and we currently do not have the info/manpower to fix it.

OzGav commented 2 days ago

@marcelveldt should I add a limitation in this regard to the docs and close this?

rohankapoorcom commented 2 days ago

Worth noting that the docs currently indicate the opposite

Any physical control buttons on the device should be supported as well as voice control

OzGav commented 2 days ago

@rohankapoorcom That says PHYSICAL when your post above is referring to software buttons but I will confirm

rohankapoorcom commented 2 days ago

@OzGav I didn't provide examples of physical hardware buttons not working, but the same problem occurs on my Nvidia Shield (Android TV) which has physical buttons on its remote.

marcelveldt commented 1 day ago

@marcelveldt should I add a limitation in this regard to the docs and close this?

Well, it used to work at some point in the past but then Google changed something (as usual) and that broke it. It will require a day or so of fiddling to get it to work probably but I don't currently have time to invest that much time to a specific small issue while other more urgent matters are present.

So, no let's not close this. Mark it as known issue and keep it on the backlog so we can pick this up when time allows. I'm pretty sure its fixable, just needs work.