Hello, I've been working to implement PTT in the way recommended by the documentation. The main issue is that the bluetooth methods are opaque, so I cannot solve for what I need. The result will be that I will have to resort to hacky approaches that the PTT framework seems to be intended to solve (playing silent clips, playing custom notification sounds, having long running background audio sessions).
I am testing with Anker soundcore mini as well as airpod pro.
Here's the issue: there are 2 very different behaviours depending on whether I'm using a call/fullDuplex session and a halfDuplex session.
halfDuplex
Anchor mini
Current behaviour
- long press activates siri
- pressing again after siri is active, starts transmission
- long press activates siri again
- pressing again after siri is active, stops transmission
- pause/play routes to the ongoing media session and plays music
Expected behaviour
- play/pause should map to transmit/stopTransmit
- IF I have to use long press, it should at least not trigger siri
AirPod pro
Current behaviour
- long press changes noise cancellation
- pause/play routes to the ongoing media session and plays music
Expected behaviour
- play/pause should map to transmit/stopTransmit
fullDuplex/call
Anchor mini:
Current behaviour
- long press activates siri
- pressing again after siri is active, starts transmission
- long press activates siri again
- pressing again after siri is active, stops transmission
- pause/play routes to the ongoing media session and plays music
Expected behaviour
- play/pause should map to transmit/stopTransmit
- IF I have to use long press, it should at least not trigger siri
AirPod pro
Current behaviour
- long press changes noise cancellation
- pause/play maps to mute/unmute (even if media is playing)
Expected behaviour
- This makes sense for call behaviour, I wish it worked this well for PTT
The intention here is to be able to fully interact with a channel hands-free. The current API seems to make that impossible. Is that by design? Reading all the docs seems to suggest its intended for transmit/stopTransmit to be doable just with the play/pause buttons, but even apple hardware seems to not support that.