API接口#
1.
基础API接口,负责基础的TCP连接管理(如登录、下线)、音视频码流收发、底层回调反馈等。相关代码位于SDInterface.java
2.
推送API接口,负责摄像头、麦克风的采集、音频3A、音视频压缩编码等处理。 相关代码位于SDInterfaceCameraPublisher.java
3.
播放API接口,负责播放远端音视频。相关代码位于SDInterfacePlayer.java
用户根据业务情况选择对应API调用。基础SDK包括所有类别客户端均需调用的基础功能,纯发送型客户端无需调用播放API,纯播放型客户端无需调用推送API。基础API#
1、系统初始化#
系统初始化主要完成日志模块初始化、服务器IP地址配置,该API在整个系统中只需要调用一次即可。2、系统反初始化#
3、登录服务器#
4、下线服务器#
5、请求上传音视频到指定位置#
在Online成功后调用才能生效,纯播放端无需上下位置。
6、请求从位置上下来#
说明:本接口在SDOnlineUser成功后调用。SDOfflineUser内部自带本API功能,因此客户端下线可以不用单独调用本API,直接调用SDOfflineUser即可。
7、设置音视频下行掩码#
8、设置音视频传输参数#
本函数需在SDOnlineUser之前调用,本API的使用若有疑问,请联系技术支持获得帮助。
推送API#
推送API定义位于SDInterfaceCameraPublisher.java中。SDK通过单实例方式调用推送API,形式如下:SDInterfaceCameraPublisher.Inst().API()。一个APP中只允许有一个推送实例。1、推送初始化#
说明:需要在调用基础API SDsysinit之后调用本API。
2、推送反初始化#
3、设置摄像头采集参数#
4、设置视 频编码参数#
当采集宽高与编码宽高不等时,内部将自行缩放处理。当二者宽高比不一致时,将剪裁到编码宽高比。未调用本API时将默认按640X360编码
5、设置视频编码类型(硬编码、软编码)#
使用软编码或硬编码,默认将优先使用硬编码,硬编码创建失败时自动切为软编码。硬编码功耗低、高分辨率性能充足,但码率波动大,对网络产生压力较大。软编码码率控制相对平稳。高分辨率时建议使用硬编码,低分辨率时使用软编码。
6、设置音频采集编码参数#
说明:未调用本API指定时,默认使用44100HZ,2声道。
7、开始推送音视频流#
说明:需在已经登录的状态下调用,否则将不会生效。调用本API后内部将启动音视频的采集、编码、发送。
8、停止推送#
9、切换前后置摄像头#
说明:过程中动态切换摄像头类型,若当前为前置摄像头,调用本API后将切换为后置摄像头,反之亦然。
播放API#
播放API定义位于SDInterfacePlayer.java中。一个APP中可以创建多个播放实例实现多路播放功能。1、播放初始化#
说明:需要在调用基础API SDsysinit之后调用本API。
2、播放反初始化#
3、开始播放#
说明:无需提供精确的renderWidth和renderHeight,只需要二者比率与surfaceView宽高比一致即可。当然若能获得精确宽高最佳。
4、停止播放#
反馈回调#
底层SDK对外提供了状态反馈,外层通过Handler对回调进行处理。绝大部分的回调仅做信息通知使用,外层可仅做信息展示用途。具体描 述如下: