我正在使用Android构建版本2.2.1的pjsua2.
我可以使用以下方式暂停通话:
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的错误吗?我该如何调用reinvite方法?
解决方法:
看看我的代码:
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();
}
}
根据this issue,有必要在CallOpParam上设置标志.
常量PJSUA_CALL_UNHOLD == 1,但我无法直接使用PJSUA_CALL_UNHOLD.
我正在使用Asterisk而且它正在运行.