Skip to content

Glitchy Audio During WebRTC Call on Both Android & iOS (react-native-webrtc + InCallManager) #253

@JahagirDS0

Description

@JahagirDS0

Hi Team,

I'm currently implementing video calling using react-native-webrtc and handling audio routing via react-native-incall-manager. The video component is working flawlessly; however, I'm facing a serious issue with audio quality during the call. The sound is often glitchy, distorted, or contains unwanted noise.

export async function startInCallManage() {
try {
InCallManager.start({media: 'video', auto: true});
InCallManager.setSpeakerphoneOn(true);
InCallManager.setMicrophoneMute(false);
return await pauseProcessing(1);
} catch (error) {
throw error;
}
}

export function stopInCallManager() {
try {
return InCallManager.stop();
} catch (error) {
throw error;
}
}
useEffect(() => {
setTimeout(async () => {
try {
await startInCallManage();
await startCall();
} catch (error) {
console.log('Error while starting call', error);
}
}, 1000);
}, []);

Key Observations

  • Audio becomes clear and stable when one peer mutes their microphone.
  • This suggests that the issue could be related to echo cancellation, audio routing conflicts, or hardware-level interference when both peers have their mics active.

What I’ve Tried
Delaying peer connection setup until after InCallManager.start().

Using native code to adjust audio modes and routing on Android.

Enabling/disabling speakerphone, muting/unmuting mic as a test.

Request
If needed, I can share the code where I establish the WebRTC peer connection, in case something there might be contributing to the issue.

I’d really appreciate any help or guidance to resolve this — especially from others who may have successfully implemented high-quality audio using react-native-webrtc.

Thank you in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions