Tips for "recapturing" microphone input from a background application


I have a question about capturing microphone input away from a different background application on on iOS.

This is the scenario:

  1. Start an application that captures input from the microphone (Such as Zoom)
  2. Put that app into the background, and start my react-native-webrtc app
  3. My app calls getUserMedia, while the previous app still has input from the microphone captured.

In this case, I would expect getUserMedia to either fail, or ideally, re-capture the microphone input away from the other background app.

However, in this scenario, getUserMedia completes succesfully, but no RTP packets are sent to the peer.

I tested this scenario with Google Hangouts, and it seems to “re-capture” the microphone from the other background application. I’m guessing they are probably also using libwebrtc.

Does anyone have any tips on implementing this with react-native-webrtc? Or at least a way to detect this error condition so I can display a message to the user?

I’m using the latest version (1.87.3) on iOS.