MODE_IN_COMMUNICATION routes to earpiece by default — no sound on speaker. The deprecated isSpeakerphoneOn doesn't work on Android 12+. Fix: enterCallMode()/exitCallMode() lifecycle — sets MODE_IN_COMMUNICATION + setCommunicationDevice(SPEAKER) on API 31+ (S25 Ultra = Android 15). Called BEFORE AudioTrack creation so the routing is active when playback starts. exitCallMode() restores previous audio mode on call end. |
||
|---|---|---|
| .. | ||
| src | ||
| .gitignore | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||