Я не знаю какого-либо официального способа делать то, что вы хотите. Обоснование выглядит примерно так: если вы не хотите использовать громкую связь, вы бы не включили ее в первую очередь.
Есть несколько вещей, которые вы могли бы попробовать, но они не гарантированы для работы со всеми устройствами и версиями Android.
Для воспроизведения вы можете попробовать это, чтобы получить звук, который поступает на громкоговоритель вместо USB аксессуара:
Class audioSystemClass = Class.forName("android.media.AudioSystem");
Method setForceUse = audioSystemClass.getMethod("setForceUse", int.class, int.class);
// First 1 == FOR_MEDIA, second 1 == FORCE_SPEAKER. To go back to the default
// behavior, use FORCE_NONE (0).
setForceUse.invoke(null, 1, 1);
И для записи вы можете попробовать с помощью VOICE_CALL
или CAMCORDER
AudioSource
вместо MIC
или DEFAULT
.