Country
Irrelevant
Device
Any.
Operating System
Android
My Question or Issue
Spotify for Android breaks usage of System Equalizer (namely MusicFX).
Steps to reproduce:
- We play a song on Spotify. Open a system equalizer from Spotify Settings. Apply some audio effects (eg, equalizer presets such as Pop, Rock, etc.) Equalizer works and expected. Then we pause the music on Spotify and open a different music app (YouTube music in this case). Play a song, then head over to settings to open equalizer options. Equalizer is stuck on using the same preset Spotify was using and we can't change it. Meaning the equalizer broke.
Note:
1. We tried the following after a reboot because we assumed that Spotify did not close the audio session. The reverse of this incident does not occur. For example, we play a song on YouTube music, adjust equalizer, then close YouTube music. We then open Spotify, play a song, Equalizer on Spotify works fine.
2. This does not happen if Spotify is not installed. You might need to reboot your phone if you were playing a track on Spotify and then you uninstalled the app.
Current workaround: We fast forward the current playing track on Spotify, pause it, and close the app immediately. If we go to YouTube music after this, play a song, and try to adjust the equalizer, it works without a hitch.
Similar issue (or the same we believe):
The following issue was marked as fixed but we don't think it was completely fixed yet because we were able to reproduce this bug on the latest stable version of Spotify installed from Play Store. These issues are very similar.
Quoted from: https://community.spotify.com/t5/Ongoing-Issues/Android-Audio-sessions-are-not-opened-and-closed-pro...
Spotify for Android does not close sessions when audio playback is paused or stopped, unless you fast-forward in a track. In both cases Android expects this intent to be broadcasted: https://developer.android.com/reference/android/media/audiofx/AudioEffect.html#ACTION_CLOSE_AUDIO_EF...
If this intent is not broadcasted, audio effects that were applied to this session stay applied. This causes some effects not to be available to any other audio session and unnecessary consumption of system resources.
Bonus: When fast-forwarding a track without playing music, random sessions that were never opened are still closed
When opening a session, Android expects this intent to be broadcasted: https://developer.android.com/reference/android/media/audiofx/AudioEffect.html#ACTION_OPEN_AUDIO_EFF...
This intent is also sent when you fast-forward in a track that is currently playing. Whenever a user has audio effects applied, some delay is audible caused by the initialization of these effects on every newly opened session. This could be solved if the same audio session is reused.