为此,您需要监听有线耳机状态。
private void registerWiredHeadsetIntentBroadcast() {
IntentFilter filter = new IntentFilter("android.intent.action.HEADSET_PLUG");
this.wiredHeadsetReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
int state = intent.getIntExtra("state", 0);
int microphone = intent.getIntExtra("microphone", 0);
boolean hasWiredHeadset = state == 1;
isWiredHeadsetPlugged=hasWiredHeadset;
switch (state) {
case 0:
//unplugged
audioManager.setWiredHeadsetOn(false);
audioManager.setSpeakerphoneOn(true);
break;
case 1:
//plugged
audioManager.setWiredHeadsetOn(true);
break;
default:
}
}
};
this.apprtcContext.registerReceiver(this.wiredHeadsetReceiver, filter);
}
将音频流类型分配给音频管理器,你很好。