android - 如何在android中的PJSIP中知道来电是否有视频

标签 android pjsip

我在 android 中使用 PJSIP,如何检查来电是音频还是视频。??怎么鉴别?我使用了下面的代码,但它不起作用

 @Override
    public void onIncomingCall(OnIncomingCallParam prm) {
        System.out.println("======== Incoming call ======== ");
        MyCall call = new MyCall(this, prm.getCallId());
        try {
            CallSetting setting = call.getInfo().getSetting();
            Log.d(" Log APP ", "onIncomingCall: Audio " + setting.getAudioCount() + "  Video" + setting.getVideoCount());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

但是音频和视频计数总是来 1 但在打电话时,我把视频 0

 MyCall call = new MyCall(account);
        CallOpParam prm = new CallOpParam();
        CallSetting setting = new CallSetting();
        setting.setAudioCount(1);
        setting.setVideoCount(0);
        prm.setOpt(setting);
        try {
            call.makeCall(buddy_uri, prm);
        } catch (Exception e) {
            call.delete();
            e.printStackTrace();
            return;
        }

请告诉我如何识别来电是否有视频。?

最佳答案

经过大量研究,我发现 PJSIP 协议(protocol)不提供来电视频计数。 CallSetting 是所有用户自己设置的。 Asterisk 服务器不会将调用设置发送到接收端。但是Asterisk id给出了媒体支持的信息

callInfo.getRemOfferer() 
// It returns a boolean value if true then server support video calling. 

所以你可以使用这样的逻辑

long videoCount = (callInfo.getRemOfferer()) ? callInfo.getRemVideoCount() : callInfo.getSetting().getVideoCount();
// if server support video call then check remote server video count value its retrun value in 0,1 format if server not support then chek call setting 

如果视频计数为 1,则表示这是视频通话。

有关更多详细信息,请查看此 PJSIP Call Setting

关于android - 如何在android中的PJSIP中知道来电是否有视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44535895/

相关文章:

android - 如何在按下 EditText 时阻止 Scrollview 将背景图像移动到顶部?

android - 使用 Gluon 在 APK META-INF/INDEX.LIST 中复制的重复文件

audio - PJSIP (PJSUA2) - OPUS 编解码器

c - 错误: pjsip gives `mod_sofia` insetad of the actual phone number

安卓 pjsip : First Incoming Video call gives CallmediaInfo status PJSUA_CALL_MEDIA_NONE

android - 圆形覆盖填充颜色并不总是在 Google Maps v2 上绘制

android - Unresolved reference "Searcher"

c - pjsip铃声和应答码

java - findViewById (NullReference) 无法引用第二个 View 的 UI 元素

c++ - 链接器错误 LNK2038 : mismatch detected for 'RuntimeLibrary'