0

ヘッドフォンが挿入されていても、Android デバイスのスピーカーからオーディオを再生する方法を探しています。

実際、典型的な動作は、ヘッドホンが挿入されている場合、スピーカーから音声が出力されないことです。ただし、デフォルトの時計アプリ (com.google.android.deskclock) などの一部のアプリは、ヘッドフォンが挿入されている場合でも、オーディオをスピーカーにルーティングできます。

プログラムでこの動作を取得するにはどうすればよいですか?

KitKat (Android 4.4) を実行している Nexus 5 デバイスで (少なくとも) 動作するソリューションを探しています。

ありがとう。

4

2 に答える 2

1

Android 4.4 に不要なコードの削除

//context = a valid context
AudioManager am = (AudioManager) context.getSystemService(context.AUDIO_SERVICE);
MediaPlayer mp = new MediaPlayer();
Uri loc = Uri.parse("android.resource://com.example.test/" + R.raw.music);
try {
    mp.setDataSource(context, loc);
    mp.setAudioStreamType(AudioManager.STREAM_ALARM);
    mp.setLooping(true);
    mp.prepare();
} catch (IllegalArgumentException | SecurityException| IllegalStateException | IOException e) {
    e.printStackTrace();
}
am.requestAudioFocus(null, AudioManager.STREAM_ALARM,AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
mp.start();
于 2015-10-31T05:22:23.177 に答える