在我使用 Android AudioManager 将 SCO ON 和扬声器设置为 ON 后,我将其返回到它开始的位置,然后媒体流将保留在听筒而不是手机扬声器上。这是我进行更改以通过 SCO 免提电话路由流的地方(一切都很好)
if (am2.isBluetoothScoAvailableOffCall()) {
am2.startBluetoothSco();
}
if(!am2.isSpeakerphoneOn()){
speakerPhoneWasOn = false;
am2.setSpeakerphoneOn(true);
}
myHash.put(TextToSpeech.Engine.KEY_PARAM_STREAM,
String.valueOf(AudioManager.STREAM_VOICE_CALL));
am2.requestAudioFocus(null, AudioManager.STREAM_VOICE_CALL,
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
然后我尝试在阅读我的消息后将其全部更改(我正在使用 TTS)
if(SMSstream == 1){
if (am2.isBluetoothScoAvailableOffCall()) {
am2.stopBluetoothSco();
}
if(!speakerPhoneWasOn){
am2.setSpeakerphoneOn(false);
}
}
else{
}
am2.setMode(OLD_AUDIO_MODE);
am2.abandonAudioFocus(null);
但在我重新启动之前,它一直与手机听筒而不是扬声器一起使用。我看到一些帖子有相反的问题,但没有一个与这个问题有关。我有一个装有 Android 2.3.4 的 Droid 3。
您可以在此处查看整个项目和源代码:http ://code.google.com/p/a2dpvolume/