API 接口：

 /**
 * 获取版本号
 *
 * @return Version
 */
public String version()

 /**
 * 获取Ext模块的钩子函数
 *
 * @return 钩子对象
 */
public Object getHook()

/**
 * 设置Event
 */
public void setOnEvent(OnEvent event)

/**
 * 采集端初始化
 *
 * @param node        node对象
 * @param sObjSelf    本节点对象名
 * @param sVideoParam 视频参数
 * @param sAudioParam 音频参数
 * @return View对象，采集端返回播放端视频播放View，播放端返回预览View
 */
public int initialize(pgLibJNINode node, String sObjSelf, String sVideoParam, String sAudioParam)

/**
 * 清理退出
 */
public void clean()

/**
 * 获取预览Surface ，某些模块自身没有预览，比如直播模块的播放端，就需要通过这个获取预览。
 *
 * @param iW 宽
 * @param iH 高
 * @return 预览Surface
 */
public SurfaceView getPrewview(int iW, int iH)

/**
 * 删除预览
 */
public void delPrewview()

/**
 * 发送获取ID的完整对象名的消息
 *
 * @param sPeer  对端ID 或者节点对象objpeer
 * @param sParam 自定义参数
 * @return 错误码
 */
public int sendGetObjPeer(String sPeer, String sParam)

/**
 * 发送自身对象名称到ID所示的节点
 *
 * @param sPeer  对端ID 或者节点对象objpeer
 * @param sParam 自定义参数
 * @return 错误码
 */
public int sendGetObjPeerNotify(String sPeer, String sParam)

/**
 * 播放端有效，和播放端的 API Start同时调用。
 *
 * @param sObjPeer 采集端ID
 * @return 错误码
 */
public int start(String sObjPeer)

/**
 * 停止
 */
public void stop(String sObjPeer)

/**
 * 打开预览
 *
 * @return 错误码
 */
private int prvwStart()

 /**
 * 关闭预览
 */
private void prvwStop()

/**
 * 打开视频
 *
 * @param sObjPeer 视频发送端节点名称
 * @param peerView 显示对端视频的SurfaceView
 * @param bPrvw    是否打开预览
 * @return 错误码
 */
public int videoStart(String sObjPeer, SurfaceView peerView, boolean bPrvw) 

/**
 * 回复视频请求
 *
 * @param sObjV    节点对象名，
 * @param uErrCode 0 同意，>0 错误码。
 * @param uHandle  视频句柄
 * @param sObjPeer 节点名称，传入onVideoStart 回调的sObjPeer的值
 * @param peerView 显示对端的视频的View
 * @param bPrvw    是否打开预览
 * @return 错误码
 */
public int videoHandle(String sObjV, int uErrCode, int uHandle, String sObjPeer, SurfaceView peerView, boolean bPrvw)

 /**
 * 关闭视频。
 */
public void videoStop(String sObjPeer, boolean bPrvw)

/**
 * 动态修改摄像头部分参数
 * @param sParam 示例"(Portraiti){0}(CameraNo){"+ iCameraNo + "}"
 * @return 错误码
 */
public int videoSource(String sParam)

回调接口：

public interface OnEvent {
    /**
     * 对端调用sendObjPeer产生的事件
     *
     * @param sObjPeer 对端的节点对象名
     * @param sParam   sendObjPeer 传入的参数，保留参数
     */
    void onGetObjPeer(String sObjPeer, String sParam);

    /**
     * 调用sendObjPeer后产生的服务器回复结果事件
     * @param uErr 错误码
     * @param sParam 自定义参数
     */
    void onGetObjPeerReply(int uErr, String sParam);

    /**
     * 接收sendObjPeerNotify 发送的对端的节点对象的值。
     * @param sObjPeer 节点对象名
     * @param sParam 自定义参数
     */
    void onGetObjPeerNotify(String sObjPeer, String sParam);

    /**
     * Video 对象同步
     * @param sObj 对象名称
     * @param sAct 0 是同步，1是去同步
     * @param sObjPeer 节点对象名称
     * @return 错误码 正常返回PG_ERR_Normal
     */
    int onVideoSync(String sObj, String sAct, String sObjPeer);


    /**
     * 收到视频请求
     * @param sObj 视频对象
     * @param uHandle 视频请求句柄
     * @param sObjPeer 对端的对象名称
     * @return 错误码 @link pgLibError， -1表示异步调用videoHandle 应答。 正常 返回PG_ERR_Normal
     */
    int onVideoStart(String sObj, int uHandle, String sObjPeer);

    /**
     * 收到videoStart视频请求的结果。
     * @param sObj 视频对象名称
     * @param uErr 错误码， PG_ERR_Normal 表示打开成功
     * @return 错误码，正常返回 PG_ERR_Normal
     */
    int onVideoStartReply(String sObj, int uErr);

    /**
     * 收到视频结束通知
     * @param sObj 视频对象名称
     * @param sObjPeer 对端节点对象名称
     * @return 错误码 ，正常返回 PG_ERR_Normal
     */
    int onVideoStop(String sObj, String sObjPeer);

    /**
     * 视频传输状态
     * @param sObj 对象名称
     * @param sData 进度状态信息
     */
    void onVideoFrameStat(String sObj, String sData);

    /**
     * 音频对象同步
     * @param sObj 对象名称
     * @param sAct 1同步，0 去同步
     */
    int onAudioSync(String sObj, String sAct);


    /**
     * 音频对象 请求打开音频
     * @param sObj 音频对象名称
     * @param sObjPeer 对端对象名称
     * @return 错误码
     */
    int onAudioStart(String sObj, String sObjPeer);

    /**
     * 音频打开请求结果
     * @param sObj 音频对象名称
     * @param uErr 错误码
     * @return 返回错误码
     */
    int onAudioStartRelay(String sObj, int uErr);

    /**
     * 音频已经被关闭
     * @param sObjPeer 节点对象名称
     * @return 错误码
     */
    int onAudioStop(String sObjPeer);
}