Jump to content
Poweramp
SuryaChandra

Bluetooth headset control not working

Recommended Posts

Same situation with my devices: OnePlus 5 and Sony wh-1000xm2. Play, stop, volume up/down work correctly, next/previous track - no response.

Share this post


Link to post
Share on other sites

Settings>Audio>Output>AudioTrack Output>Bluetooth (v709)

I've personally managed to solve this. I'm using an Axon 7  running a Custom ROM on 8.1. The OpenSL ES Output is breaking the Bluetooth responsiveness, which I figured out through curiously toggling on that option in foobar2000, which I used to control my Jaybird X2s in the gym.

 

 

 

Share this post


Link to post
Share on other sites
10 hours ago, Pointro said:

Settings>Audio>Output>AudioTrack Output>Bluetooth (v709)

I've personally managed to solve this. I'm using an Axon 7  running a Custom ROM on 8.1. The OpenSL ES Output is breaking the Bluetooth responsiveness, which I figured out through curiously toggling on that option in foobar2000, which I used to control my Jaybird X2s in the gym.

 

 

 

Confirmed...this definitely fixes BT control. Still outputs HiRes through my Sony 1000XM2's according to the dumpsys as well.

Added... Out of curiosity I tried switching back to the Hi Res API which BT controls stopped working on and the BT controls are working again. ERM!!!

Great catch @Pointro

Edited by beastobadness
Added further info

Share this post


Link to post
Share on other sites

I knew this won't be an issue only with me. I am using a Nexus 6 and Bluetooth controls don't work for me but only on specific ROMs. The controls work fine on Dirty Unicorns but don't work on Resurrection Remix and AEX. So yes, this is not an issue with Poweramp but with the ROM. However, other players work fine on any ROM. So Max, please add what is missing in our favourite music player. 

Edit: This has fixed the issue, thank you so much man!

Share this post


Link to post
Share on other sites

I had the same problem with beta 795, Xperia XZ2 Premium and Sony WH-1000XM2. Switching from hi-res output to OpenSL ES solved the problem, but switching back to hi-res did not break it again (and I'm pretty sure it switched back properly, cause there's noticeable difference in volume between the two). Now I can't break it back even if I restart Poweramp or reboot the phone itself. Weird, but hopefully helps someone.

Share this post


Link to post
Share on other sites

I have the same problem with my Sony WH-H900N (H.EAR) headset. I can pause the currently playing song, but I cannot resume it. I tried switching back and forth between normal OpenSL ES Output and OpenSL ES Hi-Res Output. What happens is that after I have switched and re-connected the headset, I can successfully trigger a PLAY event *once*, but then the headset falls back to the old behavior, i.e. PAUSE works and PLAY does nothing. According to Poweramp, the following events are received while I sent a PAUSE event, then one PLAY event, and then another PLAY event:

 

==================
14:24:11.025 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PAUSE ACTION_DOWN name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=10133703 A2dpOn  isAvrcp  playerState=1
==================
14:24:11.056 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PAUSE ACTION_UP name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=10133735 A2dpOn  isAvrcp  playerState=1
==================
14:24:11.061 PlayerService PAUSE
from PSMediaButtonReceiver pausePlaying
==================
14:24:17.827 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PAUSE ACTION_DOWN name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=10140506 A2dpOn  isAvrcp  playerState=2
==================
14:24:17.858 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PAUSE ACTION_UP name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=10140537 A2dpOn  isAvrcp  playerState=2
==================
14:24:26.031 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PAUSE ACTION_DOWN name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=10148709 A2dpOn  isAvrcp  playerState=2
==================
14:24:26.072 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PAUSE ACTION_UP name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=10148750 A2dpOn  isAvrcp  playerState=2

 

Share this post


Link to post
Share on other sites

Looks like PA is being sent MEDIA_PAUSE commands, which if handled correctly will always pause playback (even if it is already paused).

MEDIA_PLAY should be used to recommence playback, or MEDIA_PLAY_PAUSE can be used as a toggle function.

Andre

Share this post


Link to post
Share on other sites
Quote

MEDIA_PLAY should be used to recommence playback, or MEDIA_PLAY_PAUSE can be used as a toggle function.

 

Is there any way for me to control what event the headset triggers?

Share this post


Link to post
Share on other sites

To add just another data point to this topic, my Sony WH-H900N headset works just fine with all other applications I've tried. VLC, TuneIn, and the standard Music Player all toggle correctly between play / pause when I tap the appropriate button. Poweramp is the only app I've encountered so far that doesn't resume playing once I've paused the audio.

Share this post


Link to post
Share on other sites

Possibly the other apps are treating the PAUSE command as a toggle, whereas Poweramp is correctly treating is as a pause (only) command.

@maxmp a while back I suggesting creating a user-option to allow PA to process PAUSE as if it were PLAY_PAUSE, for devices like this which only issue the one command version. Would this help here?

Andre

Share this post


Link to post
Share on other sites

How can I create an user-option to PLAY_PAUSE? I have the same problem with an Anker Soundcore Vortex. Pause-Play work well with any player but Poweramp. Thanks.

Share this post


Link to post
Share on other sites
7 hours ago, PsychoTwM said:

How can I create an user-option to PLAY_PAUSE?

You can't. Generally Bluetooth devices send commands that are hard-coded into the design of that device. Check Settings > Headset/Bluetooth > Last Processed Commands to see what the device is sending to PA. 

Andre

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×