Windows 音视频通话

监听呼入通话和通话状态

通过设置相应 ICallListener 来监听呼叫过来的通话。

proxy->RegisterCallListener(&callListener);

通过设置相应 IMediaListener 来得到媒体和信令流

proxy->RegisterMediaListener(&mediaListener);

拨打个人语音通话

    /**
     * 发起语音呼叫
     * @param peerUserID 对方用户ID
     * @param roomID 标识一次呼叫的唯一ID
     * @param extraData 附加信息
     * @param len 附加信息长度
     * @return 0 表示调用成功
     */
    virtual int AudioCall(char *peerUserID, char *roomID, char *extraData, int len) = 0;

拨打个人视频通话

    /**
     * 发起视频呼叫
     * @param peerUserID 对方用户ID
     * @param roomID 标识一次呼叫的唯一ID
     * @param extraData 附加信息
     * @param len 附加信息长度
     * @return 0 表示调用成功
     */
    virtual int VideoCall(char *peerUserID, char *roomID, char *extraData, int len) = 0;

接听通话

    /**
     * 接受视频呼叫
     * @return 0 表示调用成功
     */
virtual int AcceptVideo() = 0;
 
    /**
     * 接受语音呼叫
     * @return true 表示调用成功
     */
virtual int AcceptAudio() = 0;

拒绝接听

    /**
     * 拒绝来电
     * @return true 表示调用成功
     */
virtual int Reject() = 0;

挂断个人通话

    /**
     * 挂断呼叫
     * @return 0 表示调用成功
     */
virtual int Hangup() = 0;

拨打群组通话

    /**
     * 发起群视频呼叫请求
     * @param groupID 群组ID
     * @param roomID 标识一次呼叫的唯一ID
     * @param ssrc 流标识
     * @param csrc 用户在群中的标识
     * @param relayServer turn server 列表
     * @param extraData 附加信息
     * @param len extraData的长度
     * @return 0 表示调用成功
     */
  virtual int groupCall(char *groupID, char * roomID, int ssrc, int csrc, char *relayServer, char *extraData, int len) = 0;

挂断群组通话

    /**
     * 挂断群组呼叫
     * @param groupID 群组ID
     * @param extraData 附加信息
     * @param len extraData的长度
     * @return 0 表示调用成功
     */
virtual int groupHangup(char *groupID, char *extraData, int len) = 0;