WebRTCDemo Android app to route audio to headphone when it's plugged in.

BUG=1654
TEST=WebRTCDemo app

Review URL: https://webrtc-codereview.appspot.com/1348004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3932 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
braveyao@webrtc.org
2013-05-02 03:18:00 +00:00
parent 03d0c66376
commit 3c48f31e5b

View File

@ -161,7 +161,6 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
private TextView etATxPort; private TextView etATxPort;
private int destinationPortVoice = 11113; private int destinationPortVoice = 11113;
private CheckBox cbEnableSpeaker; private CheckBox cbEnableSpeaker;
private boolean enableSpeaker = false;
private CheckBox cbEnableAGC; private CheckBox cbEnableAGC;
private boolean enableAGC = false; private boolean enableAGC = false;
private CheckBox cbEnableAECM; private CheckBox cbEnableAECM;
@ -249,24 +248,19 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
IntentFilter receiverFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG); IntentFilter receiverFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
receiver = new BroadcastReceiver() { receiver = new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (intent.getAction().compareTo(Intent.ACTION_HEADSET_PLUG) if (intent.getAction().compareTo(Intent.ACTION_HEADSET_PLUG)
== 0) { == 0) {
int state = intent.getIntExtra("state", 0); int state = intent.getIntExtra("state", 0);
Log.v(TAG, "Intent.ACTION_HEADSET_PLUG state: " + state + Log.v(TAG, "Intent.ACTION_HEADSET_PLUG state: " + state +
" microphone: " + intent.getIntExtra("microphone", 0)); " microphone: " + intent.getIntExtra("microphone", 0));
if (voERunning) { if (voERunning) {
if (state == 1) { routeAudio(state == 0 && cbEnableSpeaker.isChecked());
enableSpeaker = true;
} else {
enableSpeaker = false;
}
routeAudio(enableSpeaker);
}
} }
} }
}; }
};
registerReceiver(receiver, receiverFilter); registerReceiver(receiver, receiverFilter);
mTabHost = getTabHost(); mTabHost = getTabHost();
@ -563,7 +557,6 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
cbEnableNack.setChecked(enableNack); cbEnableNack.setChecked(enableNack);
cbEnableSpeaker = (CheckBox) findViewById(R.id.cbSpeaker); cbEnableSpeaker = (CheckBox) findViewById(R.id.cbSpeaker);
cbEnableSpeaker.setChecked(enableSpeaker);
cbEnableAGC = (CheckBox) findViewById(R.id.cbAutoGainControl); cbEnableAGC = (CheckBox) findViewById(R.id.cbAutoGainControl);
cbEnableAGC.setChecked(enableAGC); cbEnableAGC.setChecked(enableAGC);
cbEnableAECM = (CheckBox) findViewById(R.id.cbAECM); cbEnableAECM = (CheckBox) findViewById(R.id.cbAECM);
@ -763,7 +756,7 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
} }
// Route audio // Route audio
routeAudio(enableSpeaker); routeAudio(cbEnableSpeaker.isChecked());
// set volume to default value // set volume to default value
if (0 != vieAndroidAPI.VoE_SetSpeakerVolume(volumeLevel)) { if (0 != vieAndroidAPI.VoE_SetSpeakerVolume(volumeLevel)) {
@ -895,9 +888,8 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
} }
break; break;
case R.id.cbSpeaker: case R.id.cbSpeaker:
enableSpeaker = cbEnableSpeaker.isChecked();
if (voERunning) { if (voERunning) {
routeAudio(enableSpeaker); routeAudio(cbEnableSpeaker.isChecked());
} }
break; break;
case R.id.cbDebugRecording: case R.id.cbDebugRecording:
@ -979,7 +971,6 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
Integer.parseInt(etARxPort.getText().toString()); Integer.parseInt(etARxPort.getText().toString());
enableNack = cbEnableNack.isChecked(); enableNack = cbEnableNack.isChecked();
enableSpeaker = cbEnableSpeaker.isChecked();
enableAGC = cbEnableAGC.isChecked(); enableAGC = cbEnableAGC.isChecked();
enableAECM = cbEnableAECM.isChecked(); enableAECM = cbEnableAECM.isChecked();
enableNS = cbEnableNS.isChecked(); enableNS = cbEnableNS.isChecked();