美文网首页
Android Linphone 音视频呼进监听(二)

Android Linphone 音视频呼进监听(二)

作者: Z_Liqiang | 来源:发表于2018-09-28 10:17 被阅读0次

    一、呼叫监听:LinphoneService
    当我们启动程序的时候LinphoneLauncherActivity会执行LinphoneService这个标准的android后台服务,如下代码

        if (LinphoneService.isReady()) {
            onServiceReady();
        } else {
            // start linphone as background
            startService(new Intent(ACTION_MAIN).setClass(this, LinphoneService.class));
            mServiceThread = new ServiceWaitThread();
            mServiceThread.start();
        }
    

    LinphoneService需要完成的工作包括以下几点:
    1、加载APP需要使用的资源
    2、启动LinphoneManager这个APP的全局管理器

    LinphoneManager的职能有一下几点:
    1、管理LinphoneService 的实例
    2、管理LinphoneCore这个核心实例
    3、生成目前需要处理的事件通知的LinphoneCoreListenerBase实例并注册到LinphoneCore这个核心实例的事件监听器中,LinphoneCoreListenerBase 实例只监听callState,globalState,registrationState这三个事件

    (PS:实现了LinphoneCoreListener, LinphoneChatMessage.LinphoneChatMessageListener这两个接口的部分方法,负责系统需要使用的资源的管理与初始化,管理着LinphoneCore的实例,负责了LinphoneCore的初始化和它的整个生命周期,同时又响应接收到文件消息与文件消息的响应,感觉它的整体职责是有点混乱的,可能作者开始是把它作为全局的统一资源管理器的,可是后来开发着开发着就什么东西都往里面放,就成了这样了)

    二、linphone内核基于JNI的封装接口:LinphoneCore
    LinphoneCoreImpl是linphone内核针对JAVA开发语言的封装。所有linphone内核的相关方法都是通过它来向android系统暴露

    从一中可知:LinphoneCoreListenerBase 实例只监听callState,globalState,registrationState这三个事件

    1、callState:有电话呼入时,将会出发这个事件,callState事件当中state会是LinphoneCall.State.IncomingReceived,APP需要切换到电话呼入的操作界面

    2、registrationState:registrationState这个事件反馈的是用户的SIP账号到SIP服务器的注册状态,是成功注册还是注册失败等。

    3、globalState;linphone核心状态

    三、音视频呼进监听流程

    1、电话呼进

    2、触发LinphoneService中已经启动的LinphoneCoreListenerBase监听实例callState事件,其中state会是LinphoneCall.State.IncomingReceived,同时跳转到LinphoneActivity

    3、LinphoneActivity也监听了LinphoneCoreListenerBase,此时已经收到呼进请求,LinphoneCoreListenerBase中callState会判断当前的LinphoneCall.State,跳转到CallIncomingActivity

    4、CallIncomingActivity声明LinphoneCall一个会话,并在会话列表中找到当前会话(lookupCurrentCall),拿到这个会话可以拿到联系呼进用的基本信息、接听(此方法:answer,跳转到CallActivity界面)、拒绝(LinphoneManager.getLc().terminateCall(mCall);结束当前界面)此会话

    5、接听:

    相关文章

      网友评论

          本文标题:Android Linphone 音视频呼进监听(二)

          本文链接:https://www.haomeiwen.com/subject/hfgakftx.html