NERTC iOS SDK
NERTC SDK 提供完善的音视频通话开发框架,提供基于网络的视频通话和语音通话功能,还提供多人视频和音频会议功能,支持通话中音视频设备控制和实时音视频模式切换,支持视频采集数据回调以实现美颜等自定义功能。
- IRtcEngine 接口类包含应用程序调用的主要方法。
- IRtcEngineEx 接口类包含应用程序调用的扩展方法。
- NERtcEngineAudioFrameObserver 接口类用于向应用程序回调音频帧。
- NERtcEngineDelegate 接口类采用 Delegate 方法向应用程序发送回调通知。
- NERtcEngineDelegateEx 接口类采用 Delegate 方法向应用程序发送扩展回调通知。
- NERtcEngineLiveStreamObserver 接口类用于向应用程序发送直播媒体流回调通知。
- NERtcEngineMediaStatsObserver 接口类用于向应用程序发送媒体状态类回调通知。
- NERtcEngineVideoFrameObserver 接口类用于向应用程序回调视频帧。
获取 iOS 端全量 API 接口信息,请查看客户端 API 文档首页(iOS)。
频道管理
方法 | 功能描述 |
---|---|
setupEngineWithContext | 初始化设置 NERtcEngine |
setChannelProfile | 设置频道场景 |
setClientRole | 设置用户角色 |
joinChannelWithToken | 加入频道 |
leaveChannel | 离开频道 |
connectionState | NERtcEngine 的连接状态 |
setParameters | 复杂参数设置接口 |
频道事件
事件 | 事件描述 |
---|---|
onNERtcEngineDidClientRoleChanged | 用户角色已切换回调 |
onNERtcEngineRejoinChannel | 重新加入频道回调 |
onNERtcEngineDidLeaveChannelWithResult | 离开频道回调 |
onNERtcEngineUserDidJoinWithUserID | 远端用户加入当前频道回调 |
onNERtcEngineUserDidLeaveWithUserID | 远端用户离开当前频道回调 |
onNERtcEngineNetworkConnectionTypeChanged | 网络连接状态变化回调 |
onNERtcEngineConnectionStateChangeWithState | 网络连接状态已改变回调。 |
onNERtcEngineDidDisconnectWithReason | 从频道断开的回调 |
音频管理
方法 | 功能描述 |
---|---|
setAudioProfile | 设置音频编码配置 |
adjustRecordingSignalVolume | 调节录音音量 |
adjustPlaybackSignalVolume | 调节播放音量 |
enableLocalAudio | 开关本地音频采集 |
muteLocalAudio | 开关本地音频发送 |
subscribeRemoteAudio | 订阅/取消订阅指定音频流。 |
subscribeAllRemoteAudio | 订阅/取消订阅所有远端音频流 |
事件 | 事件描述 |
---|---|
onNERtcEngineAudioHasHowling | 检测到啸叫回调。 |
视频管理
方法 | 功能描述 |
---|---|
enableLocalVideo | 开关本地视频 |
setLocalVideoConfig | 设置视频发送配置 |
setupLocalVideoCanvas | 设置本地用户视图 |
setupRemoteVideoCanvas | 设置远端用户视图 |
startPreview | 开启视频预览 |
stopPreview | 停止视频预览 |
muteLocalVideo | 开关本地视频发送 |
subscribeRemoteVideo | 订阅 / 取消订阅指定远端用户的视频流。 |
setLocalRenderScaleMode | 设置本地的视频渲染缩放模式 |
setRemoteRenderScaleMode | 设置远端的视频渲染缩放模式 |
视频大小流
方法 | 功能描述 |
---|---|
enableDualStreamMode | 设置是否开启视频大小流模式。 |
本地媒体事件
事件 | 事件描述 |
---|---|
onEngineFirstAudioFrameDecoded | 已解码远端音频首帧的回调 |
onEngineFirstVideoFrameDecoded | 已解码远端视频首帧的回调 |
onNERtcEngineFirstVideoDataDidReceiveWithUserID | 初次收到远端用户的视频数据回调 |
onNERtcEngineFirstAudioDataDidReceiveWithUserID | 初次收到远端用户的音频数据回调 |
远端媒体事件
事件 | 事件描述 |
---|---|
onNERtcEngineUserVideoProfileDidUpdate | 远端用户更改视频分辨率类型的回调 |
onNERtcEngineUser | 远端用户静音视频发送的回调 |
onNERtcEngineUser:audioMuted | 远端用户静音音频发送的回调 |
onNERtcEngineUserAudioDidStart | 远端用户打开音频的回调 |
onNERtcEngineUserAudioDidStart | 远端用户打开音频的回调 |
onNERtcEngineUserAudioDidStop | 远端用户关闭音频的回调 |
onNERtcEngineUserVideoDidStartWithUserID | 远端用户打开视频的回调 |
onNERtcEngineUserVideoDidStop | 远端用户关闭视频的回调 |
数据统计事件
SDK 定期向 App 报告以下统计信息,每 2 秒触发一次。
事件 | 事件描述 |
---|---|
onRemoteAudioStats | 通话中远端音频流的统计信息回调 |
onRtcStats | 当前通话统计回调 |
onNetworkQuality | 通话中每个用户的网络上下行质量报告回调 |
onLocalAudioStat | 本地音频流统计信息回调 |
onLocalVideoStat | 本地视频流统计信息回调 |
onRemoteVideoStats | 通话中远端视频流的统计信息回调 |
addEngineMediaStatsObserver | 添加 media 统计信息观测器 |
removeEngineMediaStatsObserver | 删除 media 统计信息观测器 |
cleanupEngineMediaStatsObserver | 清空 media 统计信息观测器 |
音乐文件播放及混音
方法 | 功能描述 |
---|---|
startAudioMixingWithOption | 开始播放音乐文件 |
stopAudioMixing | 停止播放音乐文件 |
pauseAudioMixing | 暂停播放音乐文件 |
resumeAudioMixing | 恢复播放音乐文件 |
setAudioMixingPlaybackVolume | 设置音乐文件播放音量 |
setAudioMixingSendVolume | 设置音乐文件的发送音量 |
getAudioMixingPlaybackVolume | 获取音乐文件的播放音量 |
getAudioMixingSendVolume | 获取音乐文件的发送音量 |
getAudioMixingDuration | 获取音乐文件的总长度 |
setAudioMixingPosition | 设置音乐文件的播放进度 |
getAudioMixingCurrentPosition | 获取音乐文件当前播放进度 |
事件 | 事件描述 |
---|---|
onAudioMixingStateChanged | 本地用户的音乐文件播放状态改变回调 |
onAudioMixingTimestampUpdate | 音乐文件播放进度回调 |
音效文件播放管理
方法 | 功能描述 |
---|---|
getEffectPlaybackVolumeWithId | 获取音效文件播放音量 |
setEffectPlaybackVolumeWithId | 设置音效文件播放音量 |
playEffectWitdId | 播放指定音效文件 |
stopEffectWitdId | 停止播放指定音效文件 |
stopAllEffects | 停止播放所有音效文件 |
pauseEffectWitdId | 暂停音效文件播放 |
pauseAllEffects | 暂停所有音效文件播放 |
resumeEffectWitdId | 恢复播放指定音效文件 |
resumeAllEffects | 恢复播放所有音效文件 |
getEffectSendVolumeWithId | 获取音效文件的发送音量 |
setEffectSendVolumeWithId | 设置音效文件的发送音量 |
音量提示
方法 | 功能描述 |
---|---|
enableAudioVolumeIndication | 启用说话者音量提示 |
事件 | 事件描述 |
---|---|
onRemoteAudioVolumeIndication | 提示频道内谁正在说话及说话者音量的回调 |
onLocalAudioVolumeIndication | 本地用户瞬时音量的回调 |
音频播放路由
方法 | 功能描述 |
---|---|
setLoudspeakerMode | 启用/关闭扬声器播放 |
getLoudspeakerMode | 查询扬声器启用状态 |
耳返
方法 | 功能描述 |
---|---|
enableEarback | 开启耳返功能 |
setEarbackVolume | 设置耳返音量 |
旁路推流
方法调用后,在通话中有效
方法 | 功能描述 |
---|---|
addLiveStreamTask | 添加房间推流任务 |
updateLiveStreamTask | 更新修改房间推流任务 |
removeLiveStreamTask | 删除房间推流任务 |
事件 | 事件描述 |
---|---|
onNERTCEngineLiveStreamState | 直播推流状态回调 |
自定义音频采集
方法 | 功能描述 |
---|---|
setExternalAudioSource | 启用外部自定义音频数据输入功能,并设置采集参数。 |
pushExternalAudioFrame | 将外部音频数据帧推送给内部引擎 |
自定义视频采集
方法 | 功能描述 |
---|---|
setExternalVideoSource | 配置外部视频源 |
pushExternalVideoFrame | 推送外部视频帧 |
屏幕共享
方法 | 功能描述 |
---|---|
setupLocalSubStreamVideoCanvas | 设置本端的辅流视频回放画布 |
setupRemoteSubStreamVideoCanvas | 设置远端的辅流视频回放画布 |
startScreenCapture | 开启屏幕共享,屏幕共享内容以辅流形式发送 |
stopScreenCapture | 关闭辅流形式的屏幕共享 |
setLocalRenderSubStreamScaleMode | 设置本端的辅流渲染缩放模式 |
setRemoteRenderSubStreamVideoScaleMode | 设置远端的屏幕共享辅流视频渲染缩放模式 |
subscribeRemoteSubStreamVideo | 订阅或取消订阅远端的屏幕共享辅流视频,订阅之后才能接收远端的辅流视频数据 |
事件 | 事件描述 |
---|---|
onNERtcEngineUserSubStreamDidStartWithUserID | 远端用户开启屏幕共享辅流通道的回调 |
onNERtcEngineUserSubStreamDidStop | 远端用户停止屏幕共享辅流通道的回调 |
原始音频数据
方法 | 功能描述 |
---|---|
setRecordingAudioFrameParameters | 设置录制的声音格式 |
setPlaybackAudioFrameParameters | 设置播放的声音格式 |
setAudioFrameObserver | 设置音频数据帧观测器 |
setMixedAudioFrameParameters | 设置采集和播放后的混合后的采样率。需要在加入房间之前调用该接口 |
事件 | 事件描述 |
---|---|
onNERtcEngineAudioFrameDidRecord | 音频采集帧回调 |
onNERtcEngineAudioFrameWillPlayback | 音频播放帧回调 |
onNERtcEngineMixedAudioFrame | 音频采集与播放混合后数据帧回调 |
onNERtcEnginePlaybackAudioFrameBeforeMixingWithUserID | 某一远端用户的原始音频帧回调 |
原始视频数据
事件 | 事件描述 |
---|---|
onNERtcEngineVideoFrameCaptured | 本地视频数据采集回调 |
设备管理
方法 | 功能描述 |
---|---|
switchCamera | 切换前置/后置摄像头 |
isCameraTorchSupported | 检测设备是否支持闪光灯常开 |
setCameraZoomFactor | 设置摄像头缩放比例 |
setCameraFocusPosition | 设置当前摄像头聚焦点位置 |
setCameraTorchOn | 设置是否打开闪光灯 |
isCameraTorchOn | 查询当前摄像头是否打开手电筒 |
maxCameraZoomScale | 当前摄像头支持的最大缩放比例 |
isCameraZoomSupported | 检测设备是否支持摄像头缩放功能 |
isCameraFocusSupported | 检测设备是否支持手动对焦功能 |
isCameraExposurePositionSupported | 检测设备是否支持手动曝光功能 |
setCameraExposurePosition | 设置手动曝光位置 |
setPlayoutDeviceMute | 设置音频播放设备的状态 |
getPlayoutDeviceMute | 获取音频播放设备的状态 |
setRecordDeviceMute | 设置录音设备的状态 |
getRecordDeviceMute | 获取录音设备的状态 |
事件 | 事件描述 |
---|---|
onNERtcEngineAudioDeviceStateChangeWithDeviceID | 音频设备状态切换回调 |
onNERtcEngineVideoDeviceStateChangeWithDeviceID | 视频设备状态切换回调 |
onNERtcEngineHardwareResourceReleased | 硬件资源已经释放的回调 |
onNERtcCameraFocusChanged | 摄像头对焦区域已改变回调 |
onNERtcCameraExposureChanged | 摄像头曝光区域已改变回调 |
故障排查
方法 | 功能描述 |
---|---|
uploadSdkInfo | 上传SDK日志信息 |
startAudioDump | 开始记录音频 dump |
stopAudioDump | 结束记录音频 dump |
事件 | 事件描述 |
---|---|
onNERtcEngineDidError | engine发生了运行时的错误,需要用户干预 |
本篇文档内容是否对您有帮助?


此文档对你是否有帮助
×


×