iOS API文档

基本功能方法

基本功能事件方法可点击 ChuangLiveEngine查看。

初始化

方法 描述
initEngine:andAppKey:delegate: 初始化SDK引擎
sharedEngine 获取引擎对象
uninitEngine SDK销毁
setEventHandler: 重新设置事件通知回调方法接收对象,适用于初始化后需要切换回调接收对象

房间管理

方法 描述
loginRoom:userId:role: 登录房间
logoutRoom 退出房间

推流功能

方法 描述
setPreview: 设置本端推流视图,videoCanvas详情看ChuangVideoCanvas
startPreview 开始预览本地视图,需要在setPreview后调用有效
setVideoConfig: 设置推流视频配置,videoConfig详情看ChuangVideoConfig
setVideoConfig:channelIndex 设置指定通道推流视频配置,videoConfig详情看ChuangVideoConfig
getVideoConfig 获取视频推流配置,详见ChuangVideoConfig
getVideoConfigWithChannelIndex: 获取指定通道的视频推流配置,详见ChuangVideoConfig
setAudioConfig: 设置推流音频配置,audioConfig详情看ChuangAudioConfig
setAudioConfig:channelIndex: 设置指定推流推流音频配置,audioConfig详情看ChuangAudioConfig
startPublishStream: 开始推本端视频流,参数configutation详情看ChuangStreamConfig
startPublishStream:channelIndex: 开始推指定通道视频流,参数configutation详情看ChuangStreamConfig
注意:调用推流接口:startPublishStream:,如果推流的同时开启rtmp推流,则需要给推流接口的StreamConfig中的rtmpAddress传rtmp地址,不开启则地址传空,如果rtmp地址传值,请务必保证传对,否则为了保持推流结果一致性,RTC推流也会受影响
stopPublishStream 停止推本端视频流
stopPublishStreamWithChannelIndex: 停止指定通道的推流
stopPreview 停止预览本地视图
switchCamera: 前后摄像头切换,参数参照ChuangCameraType
muteLocalAudio:mute: 静音本地指定流的音频,不影响推流结果,只影响推流中的音频,当主播调用该方法,观众端会收到主播音频状态的变化回调(onPlayStreamStateChanged:state:)可根据该回调本地处理占位图展示
muteLocalVideo:mute: 关闭本地指定流的视频画面,不影响推流结果,只影响推流中的视频画面,当主播调用该方法,观众端会收到主播视频状态的变化回调(onPlayStreamStateChanged:state:)可根据该回调本地处理占位图展示
setVideoMirrorMode: 设置预览或推流镜像模式。
setVideoMirrorMode:channelIndex: 设置指定通道预览或推流镜像模式。
setAppOrientation: 设置摄像头采集方向,默认是竖屏采集,不调用会默认竖屏。
enablePublishDirectToCDN: 推流直推CDN开关,即开关推流直接推到CDN,支持播放器打开RTMP地址播放,默认关闭,直推CDN不走RTC服务,所以如果开启了直推CDN,则RTMP转推和RTMP混流会无效。
enableTrafficControl:property: 开关推流流量控制,默认开启,开启流量控制可以使SDK根据当前网络环境状况,调节音视频推流的码率大小,同时也支持设置指定流量控制的属性来调整对应的控制策略,开始推流前调用有效,仅作用于RTC推主流
enableTrafficControl:property:channelIndex: 开关指定通道推流流量控制,默认开启,开启流量控制可以使SDK根据当前网络环境状况,调节音视频推流的码率大小,同时也支持设置指定流量控制的属性来调整对应的控制策略,开始推流前调用有效,仅作用于RTC推主流
setDummyCaptureImagePath: 设置关闭摄像头时所推的静态图片。适用业务场景:主播关闭摄像头(调用muteLocalVideo:mute:且mute传YES),观众端收到占位图的视频流。主播开启摄像头(调用muteLocalVideo:mute:且mute传NO)结束推静态图。调用时机:引擎初始化后和关闭摄像头前调用,在关闭摄像头后就可推静态图片。注意:1、本地预览无法看到该静态图片 2、外部镜像不会生效 3、宽高比与设定的编码宽高比一致
setDummyCaptureImagePath:channelIndex: 设置指定通道关闭摄像头时所推的静态图片。适用业务场景:主播关闭摄像头(调用muteLocalVideo:mute:且mute传YES),观众端收到占位图的视频流。主播开启摄像头(调用muteLocalVideo:mute:且mute传NO)结束推静态图。调用时机:引擎初始化后和关闭摄像头前调用,在关闭摄像头后就可推静态图片。注意:1、本地预览无法看到该静态图片 2、外部镜像不会生效 3、宽高比与设定的编码宽高比一致

播流功能

方法 描述
startPlayStream:withCanvas: 开始播远端流,参数videoCanvas详情看 ChuangVideoCanvas
stopPlayStream: 停止播远端流
muteRemoteAudio:mute: 开关指定远端流的声音播放
muteRemoteVideo:mute: 开关指定远端流的画面播放

进阶功能

混流

适用于多人互动直播场景,需要将多路视频流混成一路流然后转推出去。

方法 描述
startMixStream: 开始混流,参数mixConfig详情看 ChuangMixStreamConfig
stopMixStream 停止混流
注意:调用上面混流接口startMixStream:,如果混流后转推rtmp,则需要给混流接口的mixStreams传混流的rtmp地址,不开启则地址传空

发送流附加消息

方法 描述
sendStreamAttachedMessage: 发送推流附加消息

跨房间播流

方法 描述
startPlayStreamWithRoomId:streamId:withCanvas: 开始跨房间播流
stopPlayStreamWithRoomId:andStreamId: 停止跨房间播流

音频前控制

方法 描述
enableAEC: 开关回声消除
enableAGC: 开关自动增益
enableANS: 开关噪声抑制

音量大小管理

方法 描述
startSoundLevelMonitor 开启音量监听
stopSoundLevelMonitor 关闭音量监听
setSoundLevelMonitorInterval: 设置音量回调间隔

自定义视频采集

方法 描述
enableCustomVideoCapture:config: 开启自定义视频采集
enableCustomVideoCapture:config:channelIndex: 开启指定通道自定义视频采集
setCustomVideoCaptureHandler: 设置自定义视频采集回调对象
sendCustomVideoCapturePixelBuffer:videoRoration:timeStamp: 传入要发送自定义采集的视频帧CVPixelBufferRef类型数据方式,自定义的视频像素格式目前支持I420、BGRA、NV12
sendCustomVideoCapturePixelBuffer:videoRoration:timeStamp:channelIndex: 传入指定通道要发送自定义采集的视频帧CVPixelBufferRef类型数据方式,自定义的视频像素格式目前支持I420、BGRA、NV12
sendCustomVideoCaptureRawData:param:timeStamp: 传入要发送自定义采集的视频帧的Rawdata数据方式,自定义的视频像素格式目前支持I420、BGRA、NV12
sendCustomVideoCaptureRawData:param:timeStamp:channelIndex: 传入指定通道要发送自定义采集的视频帧的Rawdata数据方式,自定义的视频像素格式目前支持I420、BGRA、NV12
sendCustomVideoCaptureEncodedData:param:timestamp: 传入要发送自定义采集的编码后的视频数据,目前支持H.264编码
sendCustomVideoCaptureEncodedData:param:timestamp:channelIndex: 传入指定通道要发送自定义采集的编码后的视频数据,目前支持H.264编码

自定义音频采集

方法 描述
enableCustomAudioCapture:config: 开启自定义音频采集及参数配置
enableCustomAudioCapture:config:channelIndex: 开启指定通道自定义音频采集及参数配置
sendCustomAudioCapturePCMData: 传入自定义采集pcm音频数据
sendCustomAudioCapturePCMData:channelIndex: 传入指定通道自定义采集pcm音频数据

自定义视频渲染

方法 描述
enableCustomLocalVideoRender:config: 是否启用本端自定义视频渲染
enableCustomRemoteVideoRender:config: 是否启用远端自定义视频渲染
setCustomVideoRenderHandler: 设置自定义视频渲染回调
onLocalVideoFrameCVPixelBuffer:streamId: 本端流视频 CVPixelBuffer数据回调,通过 streamId 区分不同的流
onRemoteVideoFrameCVPixelBuffer:param:streamId: 远端流视频 CVPixelBuffer数据回调,通过 streamId 区分不同的流
onRemoteVideoFrameRawData:param:streamId: 远端流视频rawdata数据回调,通过 streamId 区分不同的流
onRemoteVideoFrameEncodedRawData:param:streamId: 远端流视频编码后的数据回调,通过 streamId 区分不同的流

自定义音频渲染

方法 描述
enableCustomAudioRender:config: 设置自定义音频渲染模式
fetchCustomAudioRenderPCMData:dataLength:streamId: 获取自定义音频播放数据

混音

方法 描述
enableAudioMixing: 开启混音
enableAudioMixing:channelIndex: 开启指定通道混音
setAudioMixingHandler: 设置混音回调,在混音回调方法onAudioMixingCopyData:中传入指定长度的音频pcm数据
onAudioMixingCopyData: 混音数据回调,在回调中传入指定长度的pcm数据
onAudioMixingCopyData:channelIndex: 指定通道混音数据回调,在回调中传入指定长度的pcm数据

日志设置

方法 描述
setLogLevel: 设置日志级别
setLogFileSize: 设置日志文件大小
setLogFilePath: 设置日志文件路径

录制功能

方法 描述
setRecordLocalDataEventHandler: 设置录制本地推流音视频回调代理
startRecordLocalDataWithConfig:channelIndex: 开始录制本地推流音视频(必须在发起推流,后调用)
stopRecordLocalDataWithChannelIndex: 停止录制本地推流音视频
setRecordRemoteDataEventHandler: 设置录制远端音视频回调代理
startRecordRemoteDataWithConfig:streamId: 开始录制远端音视频(必须在发起播流,后调用)
stopRecordRemoteDataWithStreamId: 停止录制远端音视频

其他

方法 描述
getSDKVersion 获取SDK版本号
takePublishStreamSnapshot: 获取推流截图
takePublishStreamSnapshot:channelIndex: 获取指定通道推流截图
takePlayStreamSnapshot:imgCallBack: 获取指定播流截图

基本事件回调方法

主要回调方法

设置遵循协议ChuangLiveEngineDelegate的自定义类为ChuangLiveEngine代理(delegate)后,会收到回调方法。以下为所有的回调方法:

方法 描述
onRoomStateUpdate:state:errorCode: 房间连接状态回调
onRoomStreamUpdate:updateType:streamList: 房间流状态变化回调(除自己外的推流),更新播流比较重要的方法
onPublishStreamStateUpdate:state:errorCode: 推流状态变化回调
onPublishStreamRenderFirstVideo 已显示本地视频首帧回调
onPublishStreamFirstVideo 已推流本地视频首帧回调
onPublishStreamFirstAudio 已推流本地音频首帧回调
onPublishStreamVideoSizeChanged:size: 推流视频大小变化回调
onPublishStreamQualityUpdate:quality: 推流质量变化回调
onCaptureSoundLevelUpdate: 推流音量大小变化回调
onPlayStreamStateUpdate:state:errorCode: 播流状态变化回调
onPlayStreamQualityUpdate:quality: 播流质量回调
onRemoteSoundLevelUpdate: 播流音量大小回调
onInitMicrophoneFaildCallBack 麦克风初始化失败回调方法
onMicrophoneVolumeLevelChangedCallBack: 采集的麦克风声量变化回调
onReceiveStreamAttchedMessage:msg: 收到推流附加消息回调
onPlayStreamEvent:event: 播流媒体事件回调
onPlayStreamFirstVideo: 播流首帧视频回调
onPlayStreamFirstAudio: 播流首帧音频回调
onPlayStreamStateChanged:state: 音视频流状态改变回调
onPlayStreamVideoSizeChanged:size: 播流视频大小变化回调
onPlayStreamVideoRotationChanged:rotation: 播流视频方向发生变化回调
onMixStreamResult:url: 混流结果回调
onNetworkSpeedTestQualityUpdate:type: 网络测速回调
onNetworkTypeChanged: 本地网络状态变化回调
onMicrophoneVolumeLevelChangedCallBack: 采集音量变化的回调

接口链接:

results matching ""

    No results matching ""