API 参考

更新时间: 2023/10/16 07:01:17

有关API的详细说明,打开index.html即可。

直播推流 Android SDK API 文档详见API文档

API概览

类别 API名称 功能
创建推流实例 - lsMediaCapture(LsMediaCapturePara lsMediaCapturePara) 根据LsMediaCapturePara设置SDK上下文Context以及消息回调
销毁推流实例 - (void)uninitLsMediaCapture(boolean uninitNow) 反初始化:释放资源;true:马上释放,false:等待推流结束后释放。(如推流已开始必须设置为false)
打开视频预览 - (void)startVideoPreview 打开摄像头进行预览,采用SDK提供的超清、高清、标清等模式进行预览
打开视频预览(扩展) - (void)startVideoPreviewEx 预览扩展接口,如果SDK提供的模板不满足,用户可以自定义设置预览的分辨率以及帧率等参数
打开屏幕共享预览 - (void)startScreenCapture 打开屏幕共享预览,采用MediaProjection实现屏幕捕捉
切换分辨率 - (void)changeCaptureFormat 切换SDK支持的模板分辨率
切换分辨率(扩展) - (void)changeCaptureFormatEx 切换用户自定义分辨率
关闭视频预览 - (void)stopVideoPreview 关闭摄像头
销毁视频预览 - (void)destroyVideoPreview 释放摄像头以及预览显示View等资源
初始化推流 - (boolean)initLiveStream 设置推流地址以及推流类型等参数
开始推流 - (void)startLiveStreaming 开始推流,若失败,会在创建实例中的消息回调中返回具体错误码
结束推流 - (void)stopLiveStreaming 结束推流
暂停视频推流 - (void)pauseVideoLiveStream 暂停视频推流,不发送视频数据
恢复视频推流 - (void)resumeVideoLiveStream 恢复视频推流
暂停音频推流 - (void)pauseAudioLiveStream 暂停音频推流,发送静音数据
恢复音频推流 - (void)resumeAudioLiveStream 恢复音频推流
视频切后台 - (void)backgroundVideoEncode 视频推流切换到后台的处理,关闭相机,发送最后一帧画面
视频恢复前台 - (void)resumeVideoEncode 重新打开相机并推送视频数据
音频切后台 - (void)backgroundAudioEncode 发送静音帧
音频恢复前台 - (void)resumeAudioEncode 重新发送音频
开始伴音 - (boolean)startPlayMusic 支持是否循环播放
暂停伴音 - (boolean)pausePlayMusic 暂停伴音
恢复播放 - (boolean)resumePlayMusic 恢复伴音
结束伴音 - (boolean)stopPlayMusic 结束伴音
摄像头切换 - (void)switchCamera 前后摄像头动态切换
闪光灯开关 - (void)setCameraFlashPara 开关闪光灯(若支持)
摄像头缩放 - (void)setCameraZoomPara 设置摄像头缩放比例
摄像头曝光度 - (void)setExposureCompensation 设置摄像头曝光强度
摄像头对焦 - (void)setCameraFocus 设置摄像头全屏对焦
摄像头自动对焦 - (void) setCameraAutoFocus true:自动对焦,false:手动对焦,默认自动对焦
横竖屏切换 - (void)onConfigurationChanged 通知SDK发送了横竖屏切换,SDK重新计算宽高
设置水印 - (void)setWaterMarkPara 设置水印,一般用作视频版权logo显示
水印是否本地显示 - (void)setWaterPreview 设置水印是否本地显示(主播端),默认显示
动态水印 - (void)setDynamicWaterMarkPara 动态水印,一般用作视频中广告显示
动态水印是否本地显示 - (void)setDynamicWaterPreview 设置动态水印是否本地显示(主播端),默认显示
设置涂鸦 - (void)setGraffitiPara 涂鸦,可以中推流过程中实时变化
涂鸦是否本地显示 - (void)setGraffitiPreview 设置涂鸦是否本地显示(主播端),默认显示
摄像头采集数据回调 - (void)setCaptureRawDataCB 用于用户集成第三方美颜滤镜使用,SDK已在该接口上创建了openGLContext
post到openGL线程 - (void)postOnGLThread 用于第三方滤镜的部分必须在openGL线程上调用的接口使用
麦克风采集数据回调 - (void)setAudioRawDataCB 用于用户进行降噪等音频处理
设置数据源类型 - (void)setSourceType SDK:SDK负责采集 CustomMode:用户自定义采集
自定义YUV数据 - (void)sendCustomYUVData SDK支持用户自行采集摄像头等设备的YUV输入给SDK进行发送
自定义PCM数据 - (void)sendCustomPCMData SDK支持用户自行采集麦克风等设备的PCM输入给SDK进行发送
设置观众端镜像 - (void)setVideoMirror 直播过程中,开关观众端镜像效果(只对前置摄像头有效)
设置主播端镜像 - (void)setPreviewMirror 直播过程中,开关主播端镜像效果(只对前置摄像头有效)
设置滤镜类型 - (void)setFilterType 干净、自然、健康、复古等滤镜
设置滤镜强度 - (void)setFilterStrength (0 - 1)
设置磨皮强度 - (void)setBeautyLevel (0 - 5)
截图 - (void)enableScreenShot 对当前预览画面进行截图
开始测速 - (void)startSpeedCalc 支持直播开始前测速,选择最优链路推流
结束测速 - (void)stopSpeedCalc 结束此次测速
发送自定义数据 - (int)sendCustomData 数据随视频画面一起发送

总体参数说明

SDK实例参数说明

SDK实例参数说明LsMediaCapturePara

参数 类型 说明
setContext Context 设置SDK上下文,建议使用ApplicationContext
setMessageHandler lsMessageHandler 设置SDK消息回调接口
setLogLevel lsLogUtil.LogLevel 设置日志级别(info、warn、error)
setUploadLog boolean 设置是否上传日志

初始化推流参数说明LiveStreamingPara

参数 类型 说明
setStreamType StreamType AUDIO:但音频,VIDEO:单视频,AV:音视频双流
setFormatType FormatType MP4:MP4纯录制,RTMP:RTMP 推流,RTMP_AND_MP4:边推RTMP 边录制MP4
setRecordPath String 设置本地录制地址,FormatType为MP4或RTMP_AND_MP4有效
setQosOn boolean true:开启 false:关闭,默认开启Qos
setAutoRecord boolean 当formatType为MP4或RTMP_AND_MP4是否推流开始就自动开始录制,默认自动在上述两种模式下推流一开始就录制,只有需要推流与录制不同时进行的用户才需要关心,正常情况下,用户无需关心
setSyncTimestamp(syncTimestamp,absoluteTime) boolean syncTimestamp true:发送同步时间戳 false:不发送,默认不发送。 absoluteTime true:绝对时间(unix时间),false:相对于推流的时间(从0开始)
setStreamTimestampPassthrough boolean true:网易云信透传时间戳 false:不透传,默认不透传

预览频参数说明

参数 类型 说明
videoView NeteaseView SDK提供的预览显示View,用户可以布局到自己的APP中
frontCamera boolean 是否默认前置摄像头
filter boolean 是否使用SDK内置滤镜
quality VideoQuality MEDIUM:标清 480360,HIGH:高清 640480,SUPER:超清 960540,SUPER_HIGH:超高清 1280720
scale_16x9 boolean 是否按16:9宽高比例

统计信息参数说明Statistics

参数 类型 说明
videoRealSendBitRate int 视频发送码率
audioRealSendBitRate int 音频发送码率
videoEncodeFrameRate int 视频编码帧率
videoEncodeBitRate int 视频编码码率
videoEncodeWidth int 视频编码宽
videoEncodeHeight int 视频编码码高
videoEncodeTime int 视频编码一帧的时间
audioEncodeBitRate int 音频编码码率
videoSetBitRate int 设置的视频码率
videoSetWidth int 设置的分辨率宽
videoSetHeight int 设置的分辨率高
networkLevel int 网络状况 1: 好,2:一般,3:差,4:未知
videoSendBufferQueueCount int 视频发送缓存队列当前大小

枚举值参数说明

推流类型StreamType参数说明

参数 说明
AUDIO 单音频
VIDEO 单视频
AV 音视频双流

推流模式FormatType参数说明

参数 说明
MP4 MP4纯录制
RTMP RTMP 推流
RTMP_AND_MP4 边推RTMP 边录制MP4

输入源SourceType参数说明

参数 说明
SDK SDK负责采集
CustomAV 自定义采集音视频
CustomAudio 自定义采集音频
CustomVideo 自定义采集视频

视频分辨率VideoQuality参数说明

参数 说明
MEDIUM 标清 480*360
HIGH 高清 640*480
SUPER 超清 960*540
SUPER_HIGH 超高清 1280*720

水印位置VideoEffect.Rect参数说明

参数 说明
leftTop 左上角
leftBottom 左下角
rightTop 右上角
rightBottom 右下角
center 中间

滤镜类型VideoEffect.FilterType参数说明

参数 说明
none 无滤镜
clean 干净
fairytale 童话
nature 自然
healthy 健康
tender 温柔
whiten 美白

SDK消息回调具体状态码

objcpublic static final int MSG_INIT_LIVESTREAMING_ERROR = 0;//初始化直播出错
public static final int MSG_INIT_LIVESTREAMING_VIDEO_ERROR = 1; //初始化视频直播出错
public static final int MSG_INIT_LIVESTREAMING_AUDIO_ERROR = 2; //初始化音频直播出错
public static final int MSG_START_LIVESTREAMING_ERROR = 3;//开始直播出错
public static final int MSG_STOP_LIVESTREAMING_ERROR = 4;//停止直播出错
public static final int MSG_AUDIO_PROCESS_ERROR = 5;//音频编码打包出错
public static final int MSG_VIDEO_PROCESS_ERROR = 6; //视频编码打包出错
public static final int MSG_START_PREVIEW_ERROR = 7//打开视频预览失败
public static final int MSG_RTMP_URL_ERROR = 8; //RTMP URL连接出错,会进一步调用网络信息报警service,弹出悬浮窗
public static final int MSG_URL_NOT_AUTH = 9; //RTMP URL非法
public static final int MSG_SEND_STATICS_LOG_ERROR = 10; //发送统计日志出错
public static final int MSG_SEND_HEARTBEAT_LOG_ERROR = 11;//发送心跳日志出错
public static final int MSG_AUDIO_RECORD_ERROR = 12;//音频录制权限打开失败
public static final int MSG_AUDIO_SAMPLE_RATE_NOT_SUPPORT_ERROR = 13;//设置的音频采样率不支持
public static final int MSG_AUDIO_PARAMETER_NOT_SUPPORT_BY_HARDWARE_ERROR = 14;//设置的音频硬件编码参数不支持
public static final int MSG_NEW_AUDIORECORD_INSTANCE_ERROR = 15;//音频采集实例创建失败
public static final int MSG_AUDIO_START_RECORDING_ERROR = 16;//音频采集失败
public static final int MSG_QOS_TO_STOP_LIVESTREAMING = 17;//网络QoS较差   
public static final int MSG_HW_VIDEO_PACKET_ERROR = 18; //视频硬件编码出错
public static final int MSG_WATERMARK_INIT_ERROR = 19; //视频水印初始化出错
public static final int MSG_WATERMARK_PIC_OUT_OF_VIDEO_ERROR = 20; //视频水印超出原始视频
public static final int MSG_WATERMARK_PARA_ERROR = 21; //视频水印参数出错
public static final int MSG_CAMERA_PREVIEW_SIZE_NOT_SUPPORT_ERROR = 22; //摄像头不支持设置的preview size
public static final int MSG_START_PREVIEW_FINISHED = 23; //开始preview完成
public static final int MSG_START_LIVESTREAMING_FINISHED = 24; //开始直播完成
public static final int MSG_STOP_LIVESTREAMING_FINISHED = 25; //停止直播完成
public static final int MSG_STOP_VIDEO_CAPTURE_FINISHED = 26; //停止视频采集完成
public static final int MSG_STOP_AUDIO_CAPTURE_FINISHED = 28; //停止音频采集完成
public static final int MSG_SWITCH_CAMERA_FINISHED = 30; //切换摄像头完毕
public static final int MSG_SEND_STATICS_LOG_FINISHED = 31; //发送统计信息完毕
public static final int MSG_SERVER_COMMAND_STOP_LIVESTREAMING = 32; //服务器下发停止直播的命令
public static final int MSG_SEND_HEARTBEAT_LOG_FINISHED = 33; //发送心跳信息完毕
public static final int MSG_CAMERA_NOT_SUPPORT_FLASH = 34; //用户所设置的采集分辨率,摄像头并不支持
public static final int MSG_GET_STATICS_INFO = 35; //获得统计信息完毕
public static final int MSG_BAD_NETWORK_DETECT = 36; //连续一分钟视频帧率和码率都是0的消息
public static final int MSG_SCREENSHOT_FINISHED = 37; //直播中视频截图完成消息
public static final int MSG_SET_CAMERA_ID_ERROR = 38; //设置camera id出错(单摄像头设备常见)
public static final int MSG_SET_GRAFFITI_ERROR = 39; //设置视频涂鸦出错
public static final int MSG_MIX_AUDIO_FINISHED = 40: //伴音一首MP3文件结束
public static final int MSG_URL_FORMAT_NOT_RIGHT = 41: //推流URL格式不正确(例如使用拉流url进行推流)
public static final int MSG_URL_IS_EMPTY = 42: //推流URL为空
public static final int MSG_VIDEO_CROP_ERROR = 43;  //视频剪裁失败
public static final int MSG_SPEED_CALC_SUCCESS = 44; //测速成功
public static final int MSG_SPEED_CALC_FAIL = 45; //测速失败

同时,需要开发者继承如下接口,处理SDK抛出的事件。

objchandleMessage(int msg, Object object);
此文档是否对你有帮助?
有帮助
去反馈
  • API概览
  • 总体参数说明
  • SDK实例参数说明
  • 枚举值参数说明