View Issue Details

IDProjectCategoryView StatusLast Update
0011969MMAPlaybackpublic2014-11-30 04:54
Reporterrusty Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version1.0.4 
Target Version1.1.0Fixed in Version1.1.0 
Summary0011969: 'Always respond to remote buttons' doesn't work
DescriptionIn build 135, the 'Always respond to remote buttons' seems to not work.

Tested as follows:
1 play tracks in MMA. Pause. and back out.
2 play tracks in another player (either Player Pro or Google Play). Back out and shut down the other player.
3 press the play button on a headset control
--> the last-used player always starts (rather than mma).

Perhaps this is related to the crashes that often occur in build 235 upon exiting MMA by backing out while paused ?
TagsNo tags attached.
Fixed in build344

Relationships

related to 0011416 closedmartin Bluetooth: some devices fail to initiate playback / MediaMonkey isn't the active media app 

Activities

rusty

2014-03-23 05:04

administrator   ~0039974

Clarification required:
If enabled, is this setting supposed to cause MM to play _even_if_mma_isn't_in_focus?

It doesn't seem to do that, but I'm not 100% clear on whether it's supposed to.

martin

2014-03-24 08:03

developer   ~0039985

Maybe we could describe better new option.
To clarify how it works:
Each media player when is in foreground should call registerMediaButtonEventReceiver() to be the sole receiver of MEDIA_BUTTON intents.
(http://developer.android.com/reference/android/media/AudioManager.html#registerMediaButtonEventReceiver(android.content.ComponentName)).

Some of media players also call it when BT device is connected(like PowerAmp).
The media player which called registration mathod as last, wins.
If new option is enabled, MMA react on BT device connection, but we can't be sure that MMA is last app which called registration method (we have only more chance).

I can give a few examples:

MMA "Always respond to remote buttons"-enabled
A)
1)play tracks in MMA. Pause. and back out.
2) play tracks in another player.
3)Back out and shut down the other player.
4) press the play button on a headset control
--> the last-used player starts

- correct behaviour, because other player was last which callled registration method.

B)
1)play tracks in MMA. Pause. and back out.
2) play tracks in another player.
3)Back out and shut down the other player.
4)disconnect BT device
5)connect BT device
6) press the play button on a headset control
-->big chance that MMA starts playback (Google Play doesn't react on BT connection, PowerAmp calls registration method a little earlier than MMA)

rusty

2014-11-28 17:17

administrator   ~0041210

Yes--I was using a Hyundai car and if playback was initiated through the vehicle, then sometimes MMA would start, but sometimes Google Music would start even though MMA was always the last app that had been used!

e.g.
1 Play tracks in MMA via bluetooth on the vehicle
2 Turn off the vehicle and wait a few minutes
3 Turn on the vehicle
4 Click Play on the steering wheel (which should trigger playback of the Now Playing list in MMA)
--> very often, Google Play starts playing

I haven't been able to figure out what causes one app or the other to initialize.

martin

2014-11-28 18:32

developer   ~0041213

It can be "connection event", we also react on this if 'Always respond to remote buttons' is enabled. But maybe we are not last. I can't replicate this with my BT devices, but I have made one little improvement to next build. Maybe it can help, if not we can try add some delay for registration.
Maybe fixed in build 1.1.0.334