On Android our app uses LiveKit rooms for voice ch...
# ask-ai
b
On Android our app uses LiveKit rooms for voice chat. It works on most devices, but not on a Galaxy Tab S7, which uses the Snapdragon 865+ system on a chip. On that device we do not get mic input. How do we fix this?
✅ 1
t
Thanks for reaching out, Mat. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — I’m responding to the Galaxy Tab S7 (Snapdragon 865+) mic not working in your Android app's LiveKit rooms. I don’t have device-specific fixes in the knowledge base, so to diagnose quickly I need a few details: • Android OS version on the Tab S7. • LiveKit Android SDK version you’re using. • Is the app granted RECORD_AUDIO and other relevant permissions at runtime? (Confirm Settings → App permissions.) • Does the mic work in other apps on that device (e.g., Voice Recorder)? • Any logs or errors from Logcat when joining a room or when you try to speak? (Filter by your app tag or `webrtc`/`LiveKit`.) • Are you using the default audio device selection, or have you overridden audio routing / `AudioTrack`/`AudioRecord` settings? • Does the issue occur on other Snapdragon 865/865+ devices or only this Tab S7? • Are you using hardware echo cancellation / AEC, noise suppression, or custom audio processing? What I’ll do after you reply: • If permissions or OS differences are the cause, I’ll give exact steps to request/grant permissions and test. • If logs show WebRTC/AudioRecord failures, I’ll suggest targeted code/workaround steps (audio constraints, forcing microphone sample rate, or disabling hardware AEC/NS). • If it looks device-specific, I’ll provide a minimal repro snippet and a recommended workaround (e.g., switch to a software audio processing path or explicit sample-rate config). Please share the Android version, SDK version, and any Logcat lines around the moment you join the room (errors/warnings). , with interactive elements
b
How do I discover the LiveKit SDK version?
t
Good question — here are two quick ways to find the LiveKit Android SDK version in your app. 1) Check Gradle • Open your app-level
build.gradle
(or
build.gradle.kts
) and look in the
dependencies
block for a line like: ◦
implementation "io.livekit:livekit-android:x.y.z"
◦ The
x.y.z
string is the SDK version. 2) Check at runtime (if included) • Some projects expose the dependency version in a constant or via the library’s manifest. Search your project (or the installed APK) for
livekit-android
or
io.livekit
to find an included version string. If you paste the
implementation
line from your Gradle file or tell me the app’s Gradle dependencies, I’ll confirm the version and next steps for the Tab S7 mic issue. Sources: Web and mobile frontends | LiveKit Documentation, with interactive elements
b
The tablet runs Android 13. I think the LiveKit version is 2.15.4. The mic works in other apps and our app has the necessary permissions. This log entry might be helpful: "Error sm8250_platform platform_check_backends_match: Invalid snd_device = "
t
Thanks — I’m responding to the Tab S7 Android 13 mic issue (LiveKit 2.15.4) and the log line:
Error sm8250_platform platform_check_backends_match: Invalid snd_device =
. That log points to the Snapdragon/audio HAL selecting an invalid sound device backend. Next steps to diagnose and a few workarounds to try: Please collect and share • A short Logcat excerpt (~20–50 lines) around the moment you join the room, including any lines mentioning
webrtc
,
AudioRecord
,
WebRtcAudioRecord
,
sm8250_platform
, or
snd_device
. • Whether you override audio routing or call any LiveKit/ WebRTC audio config APIs (e.g., forcing sample rate, enabling/disabling AEC/NS). • Whether Bluetooth or external USB audio is connected when reproducing. Quick troubleshooting to try now 1. Toggle LiveKit/RTC audio processing: ◦ If you enable hardware AEC/NS, try disabling it (force software processing). If currently disabled, try enabling built-in processing. 1. Force the app to use the default mic: ◦ Ensure you’re not selecting a specific device; let the system default be used during capture. 1. Force a common sample rate: ◦ Try configuring capture at 48000 Hz or 44100 Hz (whichever your app uses) to avoid sample-rate mismatches. 1. Reproduce with no external audio devices: ◦ Disable Bluetooth and unplug any USB/OTG audio before joining. 1. Test with the latest SDK: ◦ Consider testing with a newer LiveKit Android SDK if available (quick check: update a local build to the latest patch and retest). If you can paste the Logcat excerpt and confirm any audio overrides you’re doing, I’ll analyze the logs and give exact code changes or a minimal repro snippet to force a working capture path. , with interactive elements