首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pjsua2 Android进行等待和取消呼叫

使用pjsua2 Android进行等待和取消呼叫
EN

Stack Overflow用户
提问于 2014-07-29 07:09:17
回答 3查看 2.8K关注 0票数 3

我正在使用pjsua2和AndroidBuildVersion2.2.1。我可以通过以下方式暂停一个电话:

代码语言:javascript
复制
    CallOpParam prm = new CallOpParam();
    prm.setOptions(pjsua_call_flag.PJSUA_CALL_UPDATE_CONTACT.swigValue());

    try {
        currentCall.setHold(prm)
    } catch(Exception e) {
        e.printStackTrace();
    }

要取消呼叫,我尝试过这样做,但不起作用:

代码语言:javascript
复制
    CallOpParam prm = new CallOpParam();
    prm.setOptions(pjsua_call_flag.PJSUA_CALL_UNHOLD.swigValue());

    try {
        currentCall.reinvite(prm);
    } catch(Exception e) {
        e.printStackTrace();
    }

那是pjsua的臭虫吗?我应该如何调用重邀请方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-30 13:49:09

看我的代码:

代码语言:javascript
复制
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

我在用星号,它起作用了。

票数 10
EN

Stack Overflow用户

发布于 2016-06-21 13:59:58

要取消调用,我需要在2.4.5版本中这样做:

代码语言:javascript
复制
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);
票数 3
EN

Stack Overflow用户

发布于 2017-09-15 07:10:35

下面是另一个例子:

代码语言:javascript
复制
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);
    }
}

您可以找到这里的完整实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25009897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档