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)后,会收到回调方法。以下为所有的回调方法:
接口链接: