Skip to content

Remote participant hears their own voice echoed back from Samsung A22 and so many other devices host mic even with VOICE_COMMUNICATION, AEC, MODE_IN_COMMUNICATION enabled #947

@JaydipMGodhani

Description

@JaydipMGodhani

I am facing a persistent echo/double-voice issue on Android with LiveKit.

When a Samsung A22 device joins a LiveKit room as host/co-host with microphone enabled, and another participant speaks, the remote participant hears their own voice coming back from the Samsung A22 host. The LiveKit active speaker indicator also shows the Samsung A22 host as speaking when the remote participant is talking.

If I mute the Samsung A22 host microphone, the double voice immediately stops.

This confirms the remote participant’s audio is being captured by the Samsung A22 microphone and published back into the LiveKit room.

Device

  • Device: Samsung Galaxy A22
  • Model: SM-A225F
  • Android SDK: 33
  • Audio route: Built-in speaker
  • Input device: Built-in mic

Issue behavior

Actual behavior

  1. Host joins room from Samsung A22.
  2. Host microphone is enabled.
  3. Remote user joins same room.
  4. Remote user speaks.
  5. Remote user hears their own voice again from the host side.
  6. LiveKit active speaker indicator shows host speaking, even though host is silent.
  7. If host mic is muted, echo/double voice stops.

Expected behavior

When remote user speaks, the Samsung A22 host microphone should not publish the remote user’s speaker audio back into the room. Acoustic echo cancellation should remove the far-end audio from the host microphone capture.

Confirmed logs

Audio route and capture source appear correct.

BEFORE_LIVEKIT_CREATE wait#1 -> mode=3, currentType=2, name=SM-A225F
AFTER_LIVEKIT_CREATE_BEFORE_CONNECT wait#0 -> mode=3, currentType=2, name=SM-A225F
AFTER_CONNECT_BEFORE_MIC wait#0 -> mode=3, currentType=2, name=SM-A225F
AFTER_MIC_ENABLE wait#0 -> mode=3, currentType=2, name=SM-A225F

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions