API说明

本文介绍iOS端直播推流SDK相关接口说明。

基础类

API

描述

AlivcLiveBase

推流基础接口

AlivcLiveBaseObserver

基础接口回调

AlivcLivePusher

推流引擎类

AlivcLivePushConfig

推流初始配置

AlivcLivePusherErrorDelegate

推流错误相关回调

AlivcLivePusherNetworkDelegate

推流网络相关回调

AlivcLivePusherInfoDelegate

推流状态通知相关回调

AlivcLivePusherCustomFilterDelegate

用户自定义滤镜(美颜处理裸数据)回调

AlivcLivePusherCustomDetectorDelegate

用户自定义人脸识别回调

AlivcLivePusherBGMDelegate

推流播放通知相关回调

AlivcLivePusherAudioSampleDelegate

音频裸数据回调

AlivcLivePlayer

互动直播模式下拉流类(直播连麦拉流功能类)引擎类

AlivcLivePlayConfig

直播连麦播放初始配置

AliLivePlayerDelegate

直播连麦播放回调

AlivcLivePlayerStatsInfo

直播连麦播放相关媒体数据类

AlivcLiveTranscodingConfig

云端混流(转码)配置

AlivcLiveMixStream

云端混流(转码)中每一路子画面的位置信息

推流基础接口

AlivcLiveBase

API

描述

getSDKVersion

获取SDK版本号

registerSDK

SDK注册License

setConsoleEnabled

启用或禁用控制台日志打印

setObserver

设置推流基础回调通知,用于异步接收License注册结果回调

setLogPath:maxPartFileSizeInKB

设置日志路径及日志分片大小,确保路径存在,可写

setLogLevel

设置日志级别,注意:开启全量ALL可能会增加APP性能消耗!

推流引擎相关接口

AlivcLivePusher

API

描述

initWithConfig

创建一个推流引擎实例

setErrorDelegate

设置推流错误监听回调

setInfoDelegate

设置推流状态监听回调

setNetworkDelegate

设置推流网络监听回调

setCustomFilterDelegate

设置用户自定义滤镜(美颜处理裸数据)回调

setCustomDetectorDelegate

用户自定义人脸识别回调

setBGMDelegate

设置背景音乐监听回调

setAudioSampleDelegate

设置音频裸数据回调

destory

销毁推流引擎

startPreview

开始预览

startPreviewAysnc

异步开始预览,建议使用异步接口

stopPreview

结束预览

startPushWithURL

开始推流

startPushWithURLAsync

异步开始推流,建议使用异步接口

stopPush

结束推流

reconnectPushAsync

重新连接进行推流(当回调onReconnectError重连失败时,可以使用该接口)

pause

暂停摄像头推流,如果pushCongfig中设置了pauseImg图片,将推设置的静态图片

resume

恢复摄像头推流

resumeAsync

异步恢复摄像头推流

switchCamera

切换摄像头

setAutoFocus

设置自动对焦

focusCameraAtAdjustedPoint:autoFocus

对焦,对焦点的坐标x[0,屏幕宽度],y[0,屏幕宽度]

setZoom

设置缩放[0,getMaxZoom()]

getMaxZoom

获取摄像头支持的最大缩放值,0:不支持缩放;大于0:最大缩放值

getCurrentZoom

获取当前缩放值

setFlash

是否打开闪光灯

setExposure

设置曝光度

getCurrentExposure

获取采集曝光

getSupportedMinExposure

获取采集支持最小曝光

getSupportedMaxExposure

获取采集支持最大曝光

setPushMirror

推流镜像开关

setPreviewMirror

预览镜像开关

setTargetVideoBitrate

设置目标视频码率[100,5000](Kbps)

setMinVideoBitrate

设置最小视频码率[100,5000](Kbps)

setpreviewDisplayMode

设置预览显示模式

setResolution

设置分辨率,推流和预览都可以修改

setMute

是否静音

setAudioEffectVoiceChangeMode

设置变声音效模式

setAudioEffectReverbMode

设置混响音效模式

startBGMWithMusicPathAsync

播放背景音乐

stopBGMAsync

停止播放背景音乐

pauseBGM

暂停播放背景音乐

resumeBGM

恢复播放背景音乐

setBGMLoop

设置背景音乐是否循环播放

setBGMEarsBack

设置耳返开关

setBGMVolume

设置背景音乐混音音乐音量

setCaptureVolume

设置背景音乐混音人声音量

setAudioDenoise

设置音频降噪

startIntelligentDenoise

开启音频智能降噪

stopIntelligentDenoise

关闭音频智能降噪

startScreenCapture

开始屏幕分享(互动模式下暂不支持屏幕分享)

sendVideoData:width:height:size:pts:rotation

发送自定义视频数据(外置视频裸数据)

sendPCMData:size:sampleRate:channel:pts

发送自定义音频数据(外置音频裸数据)

sendMessage:repeatCount:delayTime:KeyFrameOnly

推流端发送SEI自定义消息

addWatermarkWithPath:watermarkCoordX:watermarkCoordY:watermarkWidth

添加水印,起点位置坐标x[0,width),y[0,height),宽度(0,width],最多添加3个,需在startPreview之后调用

setWatermarkVisible

设置水印可见

snapshot:interval

截图

setLiveMixTranscodingConfig

设置云端的混流(转码)参数,互动模式下特定API

muteLocalCamera

关闭/打开视频(非互动模式暂不支持该API,调用无任何效果)

enableSpeakerphone

设置音频输出为听筒还是扬声器,互动模式下特定API

isEnableSpeakerphone

获取当前音频输出为听筒还是扬声器

refreshPushURLToken

刷新Token鉴权信息,传入一个新的推流URL

isCameraAutoFocusFaceModeSupported

摄像头是否支持人脸聚焦

setCameraAutoFocusFaceModeEnabled

设置摄像头人脸对焦

AlivcLivePushConfig

API

描述

livePushMode

直播推流引擎模式

resolution

推流分辨率设置分辨率

qualityMode

直播推流引擎工作模式

enableAutoBitrate

是否打开码率自适应,默认打开

enableAutoResolution

是否打开分辨率自适应(动态分辨率),默认关闭

fps

视频帧率

targetVideoBitrate

目标视频编码码率

audioBitrate

音频编码码率

audioSampleRate

音频采样率

audioChannel

声道数

audioScene

音频应用场景(音乐场景请设置AlivcLivePusherAudioScenarioMusicMode)

videoEncodeGop

关键帧间隔

orientation

推流方向:竖屏、90度横屏、270度横屏

cameraType

摄像头类型

pushMirror

推流镜像

previewMirror

预览镜像

audioOnly

纯音频推流

videoOnly

纯视频推流

pauseImg

暂停摄像头推流,切换成静态图片推流,一般用在摄像头关闭的场景

networkPoorImg

弱网下推静态图片,一般是用在上行带宽差的场景

flash

是否开启闪光灯

videoEncoderMode

视频编码模式

videoHardEncoderCodec

视频硬编码方式(H264、H265)

audioSessionOperationRestriction

设置SDK对AVAudioSession的控制权限

externMainStream

外部自定义数据推流

externVideoFormat

外部自定义视频数据格式

externAudioFormat

外部自定义音频数据格式

enableLocalVideoTexture

互动模式下默认回调pixbuffer,通过enableLocalVideoTexture可以指定纹理回调

AlivcLiveTranscodingConfig

API

描述

backgroundColor

混合后画面的底色颜色,默认为黑色

cropMode

混合后视频画面裁剪模式

mixStreams

混屏成员列表

AlivcLiveMixStream

API

描述

userId

参与混流的userId

x

图层位置x坐标(绝对像素值)

y

图层位置y坐标(绝对像素值)

width

图层宽度(绝对像素值)

height

图层高度(绝对像素值)

zOrder

图层层次

streamType

混入的流类型

连麦拉流引擎相关接口

AlivcLivePlayer

仅限互动模式下拉流使用

API

描述

setLivePlayerDelegate

设置播放回调

setPlayView:playCofig

设置播放View

startPlayWithURL

开始播放音视频流

stopPlay

停止播放视频流

pauseAudioPlaying

暂停播放音频流

pauseVideoPlaying

暂停播放视频流

resumeAudioPlaying

恢复播放音频流

resumeVideoPlaying

恢复播放视频流

setPlayoutVolume

设置播放音量

AlivcLivePlayConfig

API

描述

renderMode

渲染模式

mirror

播放是否镜像

rotationMode

旋转角度

回调接口

AlivcLiveBaseObserver

API

描述

onLicenceCheck:Reason

SDK Licence校验接口回调

AlivcLivePusherInfoDelegate

API

描述

onPreviewStarted

预览开始

onPreviewStoped

停止预览回调

onFirstFramePreviewed

渲染第一帧回调

onFirstFramePushed

发送第一帧音视频流回调

onPushStarted

推流开始回调

onPushPaused

摄像头推流暂停回调

onPushResumed

摄像头推流恢复回调

onPushStoped

推流停止回调

onPushStatistics

直播推流引擎统计数据回调(每2秒回调一次)

onSetLiveMixTranscodingConfig

设置云端的混流(转码)参数回调

onKickedOutByServer

被服务侧强制踢掉回调

AlivcLivePushErrorListener

API

描述

onSDKError

SDK错误回调

onSystemError

系统错误回调

AlivcLivePusherNetworkDelegate

API

描述

onNetworkPoor

网络差回调

onConnectRecovery

网络恢复

onConnectFail

推流失败

onConnectionLost

链接断开

onReconnectStart

重连开始回调

onReconnectSuccess

重连成功回调

onReconnectError

重连失败回调

onPushURLTokenWillExpire

连麦推流URL的token即将过期(将在过期前30s内发送此回调)

onPushURLTokenExpired

连麦推流URL的token已经过期

onSendSeiMessage

发送SEI Message通知

AlivcLivePushBGMListener

API

描述

onCompleted

播放结束通知

onDownloadTimeout

播放器超时事件,播放器重连并且seek到播放位置

onOpenFailed

流无效通知,提示流不可访问

onPaused

播放暂停事件

onProgress

播放进度事件

onResumed

播放恢复事件

onStarted

播放开始事件

onStoped

播放停止事件

AlivcLivePusherCustomFilterDelegate

API

描述

onCreate

通知外置滤镜创建回调

onProcess:texture:textureWidth:textureHeight:extra

通知外置滤镜处理回调(纹理回调),互动模式默认是pixbuffer回调,如果想要纹理回调,需要将enableLocalVideoTexture开关开发

onProcessVideoSampleBuffer:sampleBuffer

互动模式下默认是pixbuffer回调

onDestory

通知外置滤镜销毁回调

AlivcLivePlayInfoListener

API

描述

onError

错误回调

onFirstVideoFrameDrawn

视频播放回调

onPlayStarted

开始播放回调

onPlayStoped

结束播放回调

onNetworkQualityChanged

网络质量变化时发出的消息

onPlayerStatistics

播放统计数据回调

onReceiveSeiMessage

SEI回调

onPlayoutVolumeUpdate

播放音量和是否正在说话的反馈回调