我正在使用pjsua2和AndroidBuildVersion2.2.1。我可以通过以下方式暂停一个电话:
CallOpParam prm = new CallOpParam();
prm.setOptions(pjsua_call_flag.PJSUA_CALL_UPDATE_CONTACT.swigValue());
try {
currentCall.setHold(prm)
} catch(Exception e) {
e.printStackTrace();
}要取消呼叫,我尝试过这样做,但不起作用:
CallOpParam prm = new CallOpParam();
prm.setOptions(pjsua_call_flag.PJSUA_CALL_UNHOLD.swigValue());
try {
currentCall.reinvite(prm);
} catch(Exception e) {
e.printStackTrace();
}那是pjsua的臭虫吗?我应该如何调用重邀请方法?
发布于 2014-07-30 13:49:09
看我的代码:
public void holdCall() {
CallOpParam prm = new CallOpParam(true);
try {
currentCall.setHold(prm);
} catch (Exception e) {
e.printStackTrace();
}
}
public void unHoldCall() {
CallOpParam prm = new CallOpParam(true);
prm.getOpt().setFlag(1);
try {
currentCall.reinvite(prm);
} catch (Exception e) {
e.printStackTrace();
}
}根据本期,在CallOpParam上设置标志是必要的。
常量PJSUA_CALL_UNHOLD == 1,但我不能直接使用PJSUA_CALL_UNHOLD。
我在用星号,它起作用了。
发布于 2016-06-21 13:59:58
要取消调用,我需要在2.4.5版本中这样做:
CallOpParam prm = new CallOpParam();
CallSetting opt = prm.getOpt();
opt.setAudioCount(1);
opt.setVideoCount(0);
opt.setFlag(pjsua_call_flag.PJSUA_CALL_UNHOLD.swigValue());
call.reinvite(prm);发布于 2017-09-15 07:10:35
下面是另一个例子:
public void setHold(boolean hold) {
CallOpParam param = new CallOpParam();
try {
if (hold) {
setHold(param);
} else {
CallSetting opt = param.getOpt();
opt.setAudioCount(1);
opt.setVideoCount(0);
opt.setFlag(pjsua_call_flag.PJSUA_CALL_UNHOLD.swigValue());
reinvite(param);
}
} catch (Exception exc) {
String operation = hold ? "hold" : "unhold";
Logger.error(LOG_TAG, "Error : ", exc);
}
}您可以找到这里的完整实现。
https://stackoverflow.com/questions/25009897
复制相似问题