Hi guy,
I encounter the serious bug that no any volume response when you make an out-gong call and touch button to change the volume, the volume of speaker and handset always the same, however, when it comes to incoming call , everything is fine, no any volume problem.
Setting file, I remove the auto-adjust volume. The library is : linphone-android , android studio to compile and download the code into the devices.
Following are a part of incoming and outgoing call function:
public void acceptCall() {
LinphoneCore lc = LinphoneManager.getLc();
LinphoneCall calls[] = lc.getCalls();
//Loop through all the active calls and find the one that is incoming
//for (LinphoneCall thisCall : calls) {
try {
LinphoneCall ic = lc.getCallById(LinphoneCall.INCOMING_CALL);
//WMI-769 added a check if the incoming call is null
if (ic != null && ic.getState() == LinphoneCall.State.IncomingReceived) {
Log.i("acceptCall()", " Accepting");
lc.acceptCall(ic);
ic.enableEchoCancellation(true);
//If we already have a call, pause it and change its id to WAITING_CALL
LinphoneCall pc = lc.getCallById(LinphoneCall.PRIMARY_CALL);
if (pc != null) {
lc.pauseCall(pc);
pc.setId(LinphoneCall.WAITING_CALL);
}
//Make sure this call is set as primary
ic.setId(LinphoneCall.PRIMARY_CALL);
//If a conference exists, add this call to it.
if (lc.getConference() != null) {
lc.addToConference(ic);
}
//If there is more than one call, pause the others
this.resumeCallById(ic.getId());
} else {
Log.i("acceptCall()", " Not Incoming");
}
} catch (LinphoneCoreException e) {
e.printStackTrace();
}
}
public void call(String destinationSipAddress) throws LinphoneCoreException {
//First, start captions
//startCaptions();
Log.i("HI: CALL", "LinphoneShimModule.call()");
LinphoneCore lc = LinphoneManager.getLc();
//LinphoneProxyConfig[] proxies = lc.getProxyConfigList();
// lc.enableEchoLimiter(true);
LinphoneAddress callTo = LinphoneCoreFactory.instance().createLinphoneAddress(destinationSipAddress);
//Make Primary Call
lc.setDefaultProxyConfig(this.primaryProxy);
LinphoneCall call = lc.inviteId(callTo,LinphoneCall.PRIMARY_CALL);
// call.enableEchoCancellation(true);
//LinphoneManager.setPrimaryCall(call); //Tell linphone manager which call is primary
Log.i("HI: call() PRIMARY","to:"+callTo.toString()+" proxy:"+lc.getDefaultProxyConfig().getProxy()); //Log the proxy we are using
Log.i("HI: CALL", "Call to " + destinationSipAddress + " is in progress...");
}
Thanks,
Bill