android
核心类发布类LivePublisher
1LivePublisher.init(Context ctx)
作用:初始化LivePublisher
参数:ctx 环境上下文
2LivePublisher.setAudioParam(int 参数:bitrate, int aacProfile);
作用:设置输出音频参数
参数:bitrate 码率 32kbps
aacProfile 音频编码复杂度 部分服务端不支持HE-AAC,会导致发布失败,
如果服务端支持,直接用HE-AAC
AAC_PROFILE_LC 低复杂度编码
AAC_PROFILE_HE 高效能编码 ,能达到LC-AAC一半的码率传输相同的音质
3LivePublisher.setVideoParam(int width, int height, int fps, int bitrate, int avcProfile);
作用:设置输出视频参数
width 视频宽
height 视频高 注意,视频最终输出的高宽和发布方向有关,这里设置 16:9的分辨率就行,sdk自动切换。
fps 视频帧率
bitrate 视频码率 注意,sdk 1.0.1以后,视频码率为最大码率,可以比以前的版本值高一点,编码器自动调节
avcProfile 视频编码复杂度,高中低为三者比较相对而言。可根据应用场景选择
AVC_PROFILE_BASELINE 低CPU,低画质
AVC_PROFILE_MAIN 中CPU,中画质
AVC_PROFILE_HIGH 高CPU,高画质
以下建议分辨率及比特率 不用超过1280x720
320X180@15 ~~ 300kbps ~~ baseline
568x320@15 ~~ 400kbps ~~ baseline
640X360@15 ~~ 500kbps ~~ main
854x480@15 ~~ 600kbps ~~ main
960x540@15 ~~ 800kbps ~~ high
1280x720@15 ~~ 1000kbps ~~ high
4LivePublisher.setDenoiseEnable(bool bEable);
作用:是否开启背景噪音抑制
5LivePublisher.setSmoothSkinLevel(int level);
作用:设置美颜等级
参数:0 -关闭美颜
1 ~ 5 5个等级的美颜效果,值越大越亮磨皮越细,可随时调用
6LivePublisher.startPreview(GLSurfaceView cameraPreview, int camId:, boolean frontMirror);
作用:开始视频预览
cameraPreview : 用以回显摄像头预览的GLSurfaceViewd对象,如果此参数传入null,则只发布音频
camId: 摄像头初始id,LivePublisher.CAMERA_BACK 后置,LivePublisher.CAMERA_FRONT 前置
frontMirror: 是否启用前置摄像头镜像模式。当为true时,预览画面为镜像画面。当为false时,预览画面为原始画面
镜像画面就是平时使用系统照相机切换前置摄像头时所显示的画面,就像自己照镜子看到的画面。
原始画面就是最终保存或传输到观看者所显示的画面。
7LivePublisher.setCameraOrientation(int ortattion);
作用:设置摄像头预览方向,
参数:ortattion 具体的方向 如LivePublisher.VIDEO_ORI_PORTRAIT
8LivePublisher.startPublish(String pubUrl);
作用:开始视频发布
参数:pubUrl 发布的流地址
9LivePublisher.stopPreview();
作用:停止预览
10LivePublisher.stopPublish();
作用:停止播放
11LivePublisher.capturePicture(String capFilePath);
作用:截图,截图为异步操作,截图结果在EventCallback里返回
参数:capFilePath 保存图片的路径
12LivePublisher.setMicEnable(boolean isMicOn);
作用:设置是否打开麦克风
13LivePublisher.switchCamera();
作用:切换前后摄像头
14LivePublisher.setFlashEnable(boolean bEnable);
作用:关闭闪光灯,前置不支持闪光灯
15LivePublisher.setCamEnable(boolean isCamOn);
作用:设置是否打开摄像头
16核心回调通知类LivePublishDelegate
void onEventCallback(int event, String msg)
回调接口,对应的消息类型如下
2000 ~ 正在发布视频
2001 ~ 视频发布成功
2002 ~ 视频发布失败
2004 ~ 视频发布结束
2005 ~ 网络异常,发布中断
2100 ~ 网络阻塞,发布卡顿
2101 ~ 网络恢复,发布流畅
2102 ~ 截图保存成功
2103 ~ 截图保存失败
3100 ~ 麦克风静音
3101 ~ 麦克风恢复
3102 ~ 摄像头传输关闭
3103 ~ 摄像头传输打开
核心类发布类 LivePlayer
1LivePlayer.init(Context ctx)
作用:初始化 LivePlayer
参数:ctx 环境上下文
2LivePlayer.setDelegate(LivePlayerDelegate delegate);
作用:设置事件回调
参数:delegate 回调接口类
3LivePlayer.setUIVIew(SurfaceView sv);
作用:设置播放视图
参数: sv 要显示画面的SurfaceView
4LivePlayer.setBufferTime(int bufferTime);
作用: 设置播放缓存时长
参数:bufferTime为从连接成功到开始播放的启动缓冲区长度,越小启动速度越快,最小100毫秒
5LivePlayer.setMaxBufferTime(int maxBufferTime);
作用:设置最大缓冲区长度
参数:maxBufferTime为最大缓冲区,当遇到网络抖动,较大的maxBufferTime更加平滑,但延迟也会跟着增加。
6LivePlayer.startPlay(String playUrl);
作用:启动播放
参数:playUrl 播放的地址
7LivePlayer.stopPlay();
作用:停止播放
8核心回调通知类LivePlayerDelegate
void onEventCallback(int event, String msg)
回调接口,对应的消息类型如下
1000 ~ 正在连接视频
1001 ~ 视频连接成功
1002 ~ 视频连接失败
1003 ~ 视频开始重连
1004 ~ 视频播放结束
1005 ~ 网络异常,播放中断
1100 ~ 播放缓冲区为空
1101 ~ 正在缓冲
1102 ~ 播放缓冲区满,可以播放
1103 ~ Stream EOF
1104 ~ 收到播放视频宽 高格式为{width}x{height}