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