AudioManager audioManager = (AudioManager)getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_CALL); // also tried with AudioManager.MODE_IN_CALL
audioManager.setBluetoothScoOn(true);
audioManager.startBluetoothSco();
MediaPlayer mMediaPlayer = MediaPlayer.create(AudioTests.this, R.raw.test_cbr);
mMediaPlayer.start();
答案 0 :(得分:0)
虽然它是hackish,但直接反映在AudioSystem上可能会让您访问此功能。我还没有实现这个,但我知道有商业应用程序提供这种能力(参见市场上的“SoundAbout”应用程序)。
Class reflectedAS = null;
reflectedAS = Class.forName("android.media.AudioSystem");
然后,有一个名为“setDeviceConnectionState”的函数,看起来它会起作用。如果我开始工作,我会更新答案,但是想为你提供一个起点(对于其他人来说也是如此)。
AudioSystem的源代码:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/android/media/AudioSystem.java#AudioSystem
不要指望这适用于所有Android版本,或在未来版本中支持
那就是说,不确定另一种方法。