Broadcast Extension sound is not received after another app uses the mic on iOS

Hello all,


I have an application that uses broadcast extension of Replay kit to record the entire screen and mic sound to a file on iOS. Up until some months ago, everything was smooth. Currently I am facing the following issue.


If another app uses the microphone, then I loose the sound and never comes back. In order to debug this issue I have added a log to the processSampleBuffer, that logs a text each time it receives a .audioMic buffer type. I start the recording and everything works as expected. Later on, I go onto an app that uses microphone, and then I do not get any log for audioMic. I stop the recording on that app, but the sound never comes back. This as a result makes my video file to not have any sound at all.


In the above context I also noticed that even with Photos app broadcast extension, if you start recording a video, and you go to Speech to text feature of the keyboard, then the sound is joined. While the STT is on, there is no sound and the sound of whatever comes after STT stops is joined to the sound before the STT starts, so I guess that this is something general.


Also on the same research I did, I saw that google Meet app does not allow any microphone to be used from another app while you are in a meet (Even the STT is grayed out).


I would like to know my options here. What can I do to have a valid video file with sound? How can I not allow other apps to use the microphone while my app is recording? Is there any entitlement? How does Google Meet do that?


P.S. I have added an observer to observe the interruptions for the session and the type .began runs, but the type .ended does not, so I can not actually set the AVAudioSession to active again.

iPhone 15 Pro Max

Posted on Jul 17, 2025 2:33 AM

Reply
6 replies

Jul 21, 2025 1:00 AM in response to c_danaskos

On iOS, only one app can actively use the microphone at a time. If another app, like Google Meet, takes control of the mic:

  • Your app, including its Broadcast Upload Extension, will lose access to the microphone audio.
  • Even after the other app stops using the mic, iOS won't automatically restore mic input to your extension. You'll need to explicitly restart the audio session.

This behavior is a fundamental iOS privacy and security feature.

Jul 20, 2025 1:35 AM in response to c_danaskos

The app developer may not have updated their software to ensure compatibility with the iOS version your device is currently running.


If you encounter any challenges with third-party applications, the best course of action is to directly contact the app developer for further assistance. Here's a brief guide on how to do it:


  1. Identify the app developer.
  2. Visit their website or app store listing.
  3. Look for their contact information or support channels.
  4. Clearly describe the issue you are facing.
  5. Provide any necessary information they may need.
  6. Follow their instructions and provide feedback.
  7. Be patient and follow up if needed.


By reaching out to the app developer, you increase your chances of receiving accurate and personalized support for the challenges you're experiencing. To contact an App developer --> How to contact an app developer - Apple Support




Jul 20, 2025 11:40 PM in response to SravanKrA

Hello SravanKra,


Thanks for replying. My business is to test any app that is registering for testing in our platform, so contacting the developer on this vast amount of applications is not a feasible option.


Also the issues I am referring to are not only thrird-party applications. There is an issue with Photos app (which I believe is Apple's application).


What I need to find out is if there is a way to have full ownership of the mic while I a user is testing a third-party application. When I am done I will stop this ownership so any other app can take the mic, like Google Meet does while you are on a meeting room. I do not know if I need any special entitlement for this, but as you can understand, I need uninterrupted audio and video, so the final video file I create for my client to see their application test, is not missing something. Currently the sound is cut and by debugging the broadcast extension on the extend I could, I saw that the sampleHandler does not send me any .audioMic buffers after another app uses the mic, even if it stoped using it.


Thanks

Jul 21, 2025 1:30 AM in response to SravanKrA

Hello again!


Thanks for your replies. I know that only one app can take the microphone each time and that is perfectly fine by me. I just want to get the microphone and do not allow other apps to take it from me. I have seen that Google Meet can do this. Maybe due to the fact that it has the voip entitlement and the os treats it differently, but this is just a guess.


If you are on a meet and try to do the STT feature, then you will see that the Dictation on the keyboard is turned off. Also if you try to open an app that tries to use the mic, then you get "Failed to start recording, setActive: Session activation failed".


This is what I am trying to do, and it is possible at the moment (google meet does it already, maybe more apps do too), but I need to know how to do so.


Thanks

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Broadcast Extension sound is not received after another app uses the mic on iOS

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.