NERtcSDK HarmonyOS

SDK 介绍

网易云信音视频通话 NERTC SDK 为鸿蒙系统应用提供了完善的音视频通话开发框架。SDK 提供基于网络的点对点视频通话和语音通话功能,还提供多人视频和音频会议功能,支持通话中音视频设备控制和实时音视频模式切换。

  • NERtc 接口类包含应用程序调用的所有方法。
  • NERtcCallback 类用于向应用程序发送用户状态回调通知。
  • NERtcCallbackEx 类用于向应用程序发送音视频信息回调通知。

错误码

在调用 API 的过程中,SDK 可能会返回错误码或状态码,您可以根据错误码或状态码判断当前 SDK或任务的状态。如果遇到未知的错误码,请 提交工单 联系网易云信技术支持工程师排查。

当前 SDK API 的错误码如下:

房间管理

方法 功能 起始版本
NERtc#getInstance() 创建 RTC 引擎对象。 v1.0.0
NERtc#init() RTC 引擎对象初始化。 v1.0.0
NERtc#setNERtcCallback() 设置事件通知回调。 v1.0.0
NERtc#release() 销毁 NERtc 实例,释放资源。 v1.0.0
NERtc#setChannelProfile() 设置房间场景。 v1.0.0
NERtc#setClientRole() 设置用户角色。 v1.0.0
NERtc#joinChannel() 加入房间。 v1.0.0
NERtc#switchChannel() 直播场景中快速切换房间。 v1.0.0
NERtc#leaveChannel() 离开房间。 v1.0.0
NERtc#setParameters() 复杂参数设置接口,如果有需要设置相关参数,请在调用 init 接口之前调用此接口。 v1.0.0
NERtc#getConnectionState() 获取房间连接状态。 v1.0.0

房间事件

方法 功能 起始版本
NERtcCallback#onClientRoleChange() 用户角色已切换回调。 v1.0.0
NERtcCallback#onJoinChannel() 加入房间回调。 v1.0.0
NERtcCallback#onLeaveChannel() 离开房间回调。 v1.0.0
NERtcCallback#onUserJoined() 远端用户加入房间回调。 v1.0.0
NERtcCallback#onUserLeave() 远端用户离开房间回调。 v1.0.0
NERtcCallback#onDisconnect() 服务器连接断开回调。 v1.0.0

音频管理

方法 功能 起始版本
NERtc#setAudioProfile() 设置音频编码配置。 v1.0.0
NERtc#adjustRecordingSignalVolume() 调节录音音量。 v1.0.0
NERtc#adjustPlaybackSignalVolume() 调节播放音量。 v1.0.0
NERtc#adjustUserPlaybackSignalVolume() 调节本地播放的指定远端用户的信号音量。 v1.0.0
NERtc#enableLocalAudio() 开关本地音频采集。 v1.0.0
NERtc#muteLocalAudioStream() 开关本地音频发送。 v1.0.0
NERtc#subscribeRemoteAudioStream() 订阅/取消订阅指定音频流。 v1.0.0
NERtc#enableLocalSubStreamAudio() 开启或关闭音频辅流。 v1.0.0
NERtc#subscribeRemoteSubStreamAudio() 订阅远端用户辅流。 v1.0.0
NERtc#muteLocalSubStreamAudio() 静音本地音频辅流。 v1.0.0
NERtc#setAudioSubscribeOnlyBy() 设置本地用户音频只能被房间内其他指定用户订阅。 v1.0.0
NERtc#enableMediaPub() 发布或停止发布本地音频。 v1.0.0

视频管理

方法 功能 起始版本
NERtc#enableLocalVideo() 开启/关闭本地视频的采集和发送。 v1.0.0
NERtc#setLocalVideoConfig() 设置视频编码属性。 v1.0.0
NERtc#setupLocalVideoCanvas() 设置本地用户视频。 v1.0.0
NERtc#setupRemoteVideoCanvas() 设置远端用户视图。 v1.0.0
NERtc#startVideoPreview() 开启视频预览。 v1.0.0
NERtc#stopVideoPreview() 停止视频预览。 v1.0.0
NERtc#muteLocalVideoStream 取消/恢复发布本地视频。 v1.0.0
NERtc#subscribeRemoteVideo() 订阅/取消订阅指定远端用户的视频流。 v1.0.0
NERtcVideoCanvas#scalingMode 设置显示模式。 v1.0.0
NERtcVideoCanvas#mirrorMode 设置画面镜像。 v1.0.0

本地媒体事件

方法 功能 起始版本
NERtcCallback#onFirstAudioFrameDecoded() 已解码远端音频首帧回调。 v1.0.0
NERtcCallback#onFirstVideoFrameDecoded() 已解码远端视频首帧回调。 v1.0.0
NERtcCallback#onFirstVideoDataReceived() 已接收远端视频首帧回调。 v1.0.0
NERtcCallback#onFirstAudioDataReceived() 已接收远端音频首帧回调。 v1.0.0

远端媒体事件

方法 功能 起始版本
NERtcCallback#onUserSubStreamVideoStart() 远端用户开启视频辅流的回调。 v1.0.0
NERtcCallback#onUserSubStreamVideoStop() 远端用户关闭视频辅流的回调。 v1.0.0
NERtcCallback#onUserVideoMute() 远端用户暂停或恢复视频主流发送的回调。 v1.0.0
NERtcCallback#onUserSubStreamVideoMute() 远端用户暂停或恢复视频辅流发送的回调。 v1.0.0
NERtcCallback#onUserAudioMute() 远端用户暂停或恢复音频主流发送的回调。 v1.0.0
NERtcCallback#onUserSubStreamAudioMute() 远端用户暂停或恢复音频辅流发送的回调。 v1.0.0
NERtcCallback#onUserAudioStart() 远端用户开启音频主流的回调。 v1.0.0
NERtcCallback#onUserSubStreamAudioStart() 远端用户开启音频辅流的回调。 v1.0.0
NERtcCallback#onUserAudioStop() 远端用户关闭音频主流的回调。 v1.0.0
NERtcCallback#onUserSubStreamAudioStop() 远端用户关闭音频辅流的回调。 v1.0.0
NERtcCallback#onUserVideoStart() 远端用户开启视频的回调。 v1.0.0
NERtcCallback#onUserVideoStop() 远端用户关闭视频的回调。 v1.0.0

数据统计事件

方法 功能 起始版本
NERtc#setStatsObserver() 设置统计信息回调。 v1.0.0
NERtcStatsObserver#onRtcStats() 当前通话统计回调,每 2 秒触发一次。 v1.0.0
NERtcStatsObserver#onNetworkQuality() 通话中每个用户的网络上下行质量报告回调。 v1.0.0
NERtcStatsObserver#onLocalAudioStats() 本地音频流统计信息回调。 v1.0.0
NERtcStatsObserver#onLocalVideoStats() 本地视频流统计信息回调。 v1.0.0
NERtcStatsObserver#onRemoteAudioStats() 通话中远端音频流的统计信息回调。 v1.0.0
NERtcStatsObserver#onRemoteVideoStats() 通话中远端视频流的统计信息回调。 v1.0.0

视频大小流

方法 功能 起始版本
NERtc#enableDualStreamMode() 设置是否开启视频大小流模式。 v1.0.0

伴音播放管理

方法 功能 起始版本
NERtc#startAudioMixing() 开始播放伴音文件。 v1.0.0
NERtc#stopAudioMixing() 停止播放伴音文件。 v1.0.0
NERtc#pauseAudioMixing() 暂停播放伴音文件。 v1.0.0
NERtc#resumeAudioMixing() 恢复播放伴音文件。 v1.0.0
NERtc#setAudioMixingPlaybackVolume() 设置伴音文件播放音量。 v1.0.0
NERtc#setAudioMixingSendVolume() 设置伴音文件的发送音量。 v1.0.0
NERtc#getAudioMixingPlaybackVolume() 获取伴音文件的播放音量。 v1.0.0
NERtc#getAudioMixingSendVolume() 获取伴音文件的发送音量。 v1.0.0
NERtc#getAudioMixingDuration() 获取伴音文件的总长度。 v1.0.0
NERtc#setAudioMixingPosition() 设置伴音文件的播放进度。 v1.0.0
NERtc#getAudioMixingCurrentPosition() 获取伴音文件的播放进度。 v1.0.0

事件 说明 起始版本
NERtcCallback#onAudioMixingStateChanged() 本地用户的伴音文件播放状态改变回调。 v1.0.0
NERtcCallback#onAudioMixingTimestampUpdate() 本地用户的伴音文件播放进度回调。 v1.0.0

音效播放管理

方法 功能 起始版本
NERtc#getEffectPlaybackVolume() 获取音效文件播放音量。 v1.0.0
NERtc#setEffectPlaybackVolume() 设置音效文件播放音量。 v1.0.0
NERtc#playEffect() 播放指定音效文件。 v1.0.0
NERtc#stopEffect() 停止播放指定音效文件。 v1.0.0
NERtc#stopAllEffects() 停止播放所有音效文件。 v1.0.0
NERtc#pauseEffect() 暂停音效文件播放。 v1.0.0
NERtc#pauseAllEffects() 暂停所有音效文件播放。 v1.0.0
NERtc#resumeEffect() 恢复播放指定音效文件。 v1.0.0
NERtc#resumeAllEffects() 恢复播放所有的音效文件。 v1.0.0
NERtc#setEffectSendVolume() 调节音效文件的发送音量。 v1.0.0
NERtc#getEffectSendVolume() 获取音效文件的发送音量。 v1.0.0
NERtc#getEffectDuration() 获取音效文件时长。 v1.0.0
NERtc#setEffectPosition() 设置音效文件的播放进度。 v1.0.0
NERtc#getEffectCurrentPosition() 获取音效文件的播放进度。 v1.0.0

事件 说明 起始版本
NERtcCallback#onAudioEffectFinished() 本地音效文件播放已结束回调。 v1.0.0
NERtcCallback#onAudioEffectTimestampUpdate() 本地音效文件的播放进度信息回调。 v1.0.0

旁路推流

方法 功能 起始版本
NERtc#addLiveStreamTask 添加房间推流任务。 v1.0.0
NERtc#updateLiveStreamTask 更新修改房间推流任务。 v1.0.0
NERtc#removeLiveStreamTask 删除房间推流任务。 v1.0.0

事件 说明 起始版本
NERtcCallback#onLiveStreamState() 直播推流状态回调。 v1.0.0
NERtcCallback#onAddLiveStreamTask() 新增推流任务回调。 v1.0.0
NERtcCallback#onUpdateLiveStreamTask() 更新推流任务回调。 v1.0.0
NERtcCallback#onRemoveLiveStreamTask() 删除推流任务回调。 v1.0.0

音频播放路由

方法 功能 起始版本
NERtc#setSpeakerphoneOn() 设置扬声器是否开启。 v1.0.0
NERtc#isSpeakerphoneOn() 获取扬声器是否开启。 v1.0.0

自定义音频采集

方法 功能 起始版本
NERtc#setExternalAudioSource() 启用外部自定义音频数据主流输入功能,并设置采集参数。 v1.0.0
NERtc#setExternalSubStreamAudioSource() 启用外部自定义音频数据辅流输入功能,并设置采集参数。 v1.0.0
NERtc#pushExternalAudioFrame() 将外部音频主流数据帧推送给内部引擎。 v1.0.0
NERtc#pushExternalSubStreamAudioFrame() 将外部音频辅流数据帧推送给内部引擎。 v1.0.0
NERtc#setStreamAlignmentProperty() 对齐本地系统时间与服务端时间。 v1.0.0
NERtc#getNtpTimeOffset() 获取本地系统时间与服务端时间的差值。 v1.0.0

自定义视频采集

方法 功能 起始版本
NERtc#setExternalVideoSource() 开启/关闭 外部视频数据源输入。 v1.0.0
NERtc#pushExternalVideoFrame() 推送外部视频帧。 v1.0.0

视频截图

方法 功能 起始版本
NERtc#takeLocalSnapshot 本地视频画面截图。 v1.0.0
NERtc#takeRemoteSnapshot 远端视频画面截图。 v1.0.0
事件 说明 起始版本
NERtcTakeSnapshotCallback#onTakeSnapshotResult() 截图结果回调。 v1.0.0

设备管理

方法 功能 起始版本
NERtc#switchCamera() 切换前置/后置摄像头。 v1.0.0
NERtc#setPlayoutDeviceMute() 设置音频播放设备静音。 v1.0.0
NERtc#isPlayoutDeviceMute() 获取当前音频播放设备是否静音。 v1.0.0
NERtc#setRecordDeviceMute() 设置音频采集设备静音。 v1.0.0
NERtc#isRecordDeviceMute() 获取当前音频采集设备是否静音。 v1.0.0

事件 说明 起始版本
NERtcCallback#onAudioDeviceChanged() 音频设备状态更改回调。 v1.0.0

故障排查

方法 功能 起始版本
NERtc#uploadSdkInfo() 上传 SDK 日志信息。 v1.0.0

事件 说明 起始版本
NERtcCallback#onWarning() 发生警告回调。 v1.0.0
NERtcCallback#onError() 引起发生了运行时错误,需要用户干预。 v1.0.0