NERtc macOS SDK V5.6.30
|
#include <nertc_engine_ex.h>
Public 成员函数 | |
virtual IRtcChannel * | createChannel (const char *channel_name)=0 |
virtual NERtcConnectionStateType | getConnectionState ()=0 |
virtual int | muteLocalAudioStream (bool mute)=0 |
virtual int | enableLocalSubStreamAudio (bool enabled)=0 |
virtual int | muteLocalSubStreamAudio (bool mute)=0 |
virtual int | setAudioProfile (NERtcAudioProfileType profile, NERtcAudioScenarioType scenario)=0 |
virtual int | setAudioProfile (NERtcAudioProfileType profile)=0 |
virtual int | setAudioScenario (NERtcAudioScenarioType scenario)=0 |
virtual int | setAudioEffectPreset (NERtcVoiceChangerType type)=0 |
virtual int | setVoiceBeautifierPreset (NERtcVoiceBeautifierType type)=0 |
virtual int | setLocalVoicePitch (double pitch)=0 |
virtual int | setLocalVoiceEqualization (NERtcVoiceEqualizationBand band_frequency, int band_gain)=0 |
virtual int | subscribeRemoteAudioStream (uid_t uid, bool subscribe)=0 |
virtual int | subscribeRemoteSubStreamAudio (uid_t uid, bool subscribe)=0 |
virtual int | subscribeAllRemoteAudioStream (bool subscribe)=0 |
virtual int | setAudioSubscribeOnlyBy (uid_t *uid_array, uint32_t size)=0 |
virtual int | setSubscribeAudioAllowlist (uid_t *uid_array, uint32_t size)=0 |
virtual int | setSubscribeAudioBlocklist (NERtcAudioStreamType type, uid_t *uid_array, uint32_t size)=0 |
virtual void | setStreamAlignmentProperty (bool enable)=0 |
virtual int64_t | getNtpTimeOffset ()=0 |
virtual int | setCameraCaptureConfig (const NERtcCameraCaptureConfig &config)=0 |
virtual int | setCameraCaptureConfig (NERtcVideoStreamType type, const NERtcCameraCaptureConfig &config)=0 |
virtual int | setVideoConfig (const NERtcVideoConfig &config)=0 |
virtual int | setVideoConfig (NERtcVideoStreamType type, const NERtcVideoConfig &config)=0 |
virtual int | enableDualStreamMode (bool enable)=0 |
virtual int | setupLocalSubStreamVideoCanvas (NERtcVideoCanvas *canvas)=0 |
virtual int | setLocalSubStreamRenderMode (NERtcVideoScalingMode scaling_mode)=0 |
virtual int | setLocalRenderMode (NERtcVideoScalingMode scaling_mode)=0 |
virtual int | setLocalVideoMirrorMode (NERtcVideoMirrorMode mirror_mode)=0 |
virtual int | setLocalVideoMirrorMode (NERtcVideoStreamType type, NERtcVideoMirrorMode mirror_mode)=0 |
virtual int | setRemoteRenderMode (uid_t uid, NERtcVideoScalingMode scaling_mode)=0 |
virtual int | setupRemoteSubStreamVideoCanvas (uid_t uid, NERtcVideoCanvas *canvas)=0 |
virtual int | subscribeRemoteVideoSubStream (uid_t uid, bool subscribe)=0 |
virtual int | setRemoteSubSteamRenderMode (uid_t uid, NERtcVideoScalingMode scaling_mode)=0 |
virtual int | startVideoPreview ()=0 |
virtual int | startVideoPreview (NERtcVideoStreamType type)=0 |
virtual int | stopVideoPreview ()=0 |
virtual int | stopVideoPreview (NERtcVideoStreamType type)=0 |
virtual int | muteLocalVideoStream (bool mute)=0 |
virtual int | muteLocalVideoStream (NERtcVideoStreamType type, bool mute)=0 |
virtual int | setLocalMediaPriority (NERtcMediaPriorityType priority, bool is_preemptive)=0 |
virtual int | setParameters (const char *parameters)=0 |
virtual const char * | getParameters (const char *parameters, const char *extra_info)=0 |
virtual int | setRecordingAudioFrameParameters (NERtcAudioFrameRequestFormat *format)=0 |
virtual int | setPlaybackAudioFrameParameters (NERtcAudioFrameRequestFormat *format)=0 |
virtual int | setPlaybackAudioFrameBeforeMixingParameters (NERtcAudioFrameRequestFormat *format)=0 |
virtual int | setMixedAudioFrameParameters (int sample_rate)=0 |
virtual int | setAudioFrameObserver (INERtcAudioFrameObserver *observer)=0 |
virtual int | startAudioDump ()=0 |
virtual int | startAudioDump (NERtcAudioDumpType type)=0 |
virtual int | stopAudioDump ()=0 |
virtual int | startAudioMixing (NERtcCreateAudioMixingOption *option)=0 |
virtual int | stopAudioMixing ()=0 |
virtual int | pauseAudioMixing ()=0 |
virtual int | resumeAudioMixing ()=0 |
virtual int | setAudioMixingSendVolume (uint32_t volume)=0 |
virtual int | getAudioMixingSendVolume (uint32_t *volume)=0 |
virtual int | setAudioMixingPlaybackVolume (uint32_t volume)=0 |
virtual int | getAudioMixingPlaybackVolume (uint32_t *volume)=0 |
virtual int | getAudioMixingDuration (uint64_t *duration)=0 |
virtual int | getAudioMixingCurrentPosition (uint64_t *position)=0 |
virtual int | setAudioMixingPosition (uint64_t seek_position)=0 |
virtual int | playEffect (uint32_t effect_id, NERtcCreateAudioEffectOption *option)=0 |
virtual int | stopEffect (uint32_t effect_id)=0 |
virtual int | stopAllEffects ()=0 |
virtual int | pauseEffect (uint32_t effect_id)=0 |
virtual int | resumeEffect (uint32_t effect_id)=0 |
virtual int | pauseAllEffects ()=0 |
virtual int | resumeAllEffects ()=0 |
virtual int | setEffectSendVolume (uint32_t effect_id, uint32_t volume)=0 |
virtual int | getEffectSendVolume (uint32_t effect_id, uint32_t *volume)=0 |
virtual int | setEffectPlaybackVolume (uint32_t effect_id, uint32_t volume)=0 |
virtual int | getEffectPlaybackVolume (uint32_t effect_id, uint32_t *volume)=0 |
virtual int | setAudioMixingPitch (int32_t pitch)=0 |
virtual int | getAudioMixingPitch (int32_t *pitch)=0 |
virtual int | setEffectPitch (uint32_t effect_id, int32_t pitch)=0 |
virtual int | getEffectPitch (uint32_t effect_id, int32_t *pitch)=0 |
virtual int | enableLoopbackRecording (bool enabled, const char *device_name)=0 |
virtual int | adjustLoopbackRecordingSignalVolume (int volume)=0 |
virtual int | enableEarback (bool enabled, uint32_t volume)=0 |
virtual int | setEarbackVolume (uint32_t volume)=0 |
virtual int | setStatsObserver (IRtcMediaStatsObserver *observer)=0 |
virtual int | setVideoEncoderQosObserver (INERtcVideoEncoderQosObserver *observer)=0 |
virtual int | setPreDecodeObserver (INERtcPreDecodeObserver *observer)=0 |
virtual int | enableAudioVolumeIndication (bool enable, uint64_t interval)=0 |
virtual int | enableAudioVolumeIndication (bool enable, uint64_t interval, bool enable_vad)=0 |
virtual IScreenCaptureSourceList * | getScreenCaptureSources (const NERtcSize &thumbSize, const NERtcSize &iconSize, const bool includeScreen)=0 |
virtual int | startScreenCaptureByScreenRect (const NERtcRectangle &screen_rect, const NERtcRectangle ®ion_rect, const NERtcScreenCaptureParameters &capture_params)=0 |
virtual int | startScreenCaptureByDisplayId (source_id_t display_id, const NERtcRectangle ®ion_rect, const NERtcScreenCaptureParameters &capture_params)=0 |
virtual int | startScreenCaptureByWindowId (source_id_t window_id, const NERtcRectangle ®ion_rect, const NERtcScreenCaptureParameters &capture_params)=0 |
virtual int32_t | setScreenCaptureSource (const NERtcScreenCaptureSourceInfo &source, const NERtcRectangle ®ion_rect, const NERtcScreenCaptureParameters &capture_params)=0 |
virtual int | updateScreenCaptureRegion (const NERtcRectangle ®ion_rect)=0 |
virtual int | setScreenCaptureMouseCursor (bool capture_cursor)=0 |
virtual int | stopScreenCapture ()=0 |
virtual int | pauseScreenCapture ()=0 |
virtual int | resumeScreenCapture ()=0 |
virtual int | setExcludeWindowList (source_id_t *window_list, int count)=0 |
virtual int | updateScreenCaptureParameters (const nertc::NERtcScreenCaptureParameters &captureParams)=0 |
virtual int | setExternalVideoSource (bool enabled)=0 |
virtual int | setExternalVideoSource (NERtcVideoStreamType type, bool enabled)=0 |
virtual int | pushExternalVideoFrame (NERtcVideoFrame *frame)=0 |
virtual int | pushExternalVideoFrame (NERtcVideoStreamType type, NERtcVideoFrame *frame)=0 |
virtual int | pushExternalVideoEncodedFrame (NERtcVideoStreamType type, NERtcVideoEncodedFrame *encoded_frame)=0 |
virtual int | setExternalAudioSource (bool enabled, int sample_rate, int channels)=0 |
virtual int | pushExternalAudioFrame (NERtcAudioFrame *frame)=0 |
virtual int | pushExternalAudioEncodedFrame (NERtcAudioEncodedFrame *encoded_frame)=0 |
virtual int | setExternalSubStreamAudioSource (bool enabled, int sample_rate, int channels)=0 |
virtual int | pushExternalSubStreamAudioFrame (NERtcAudioFrame *frame)=0 |
virtual int | pushExternalSubStreamAudioEncodedFrame (NERtcAudioEncodedFrame *encoded_frame)=0 |
virtual int | setExternalAudioRender (bool enabled, int sample_rate, int channels)=0 |
virtual int | pullExternalAudioFrame (void *data, int len)=0 |
virtual const char * | getVersion (int *build)=0 |
virtual const char * | getErrorDescription (int error_code)=0 |
virtual void | uploadSdkInfo ()=0 |
virtual int | addLiveStreamTask (const NERtcLiveStreamTaskInfo &info)=0 |
virtual int | updateLiveStreamTask (const NERtcLiveStreamTaskInfo &info)=0 |
virtual int | removeLiveStreamTask (const char *task_id)=0 |
virtual int | sendSEIMsg (const char *data, int length, NERtcVideoStreamType type)=0 |
virtual int | sendSEIMsg (const char *data, int length)=0 |
virtual int | setLocalVideoWatermarkConfigs (bool enabled, NERtcVideoStreamType type, NERtcVideoWatermarkConfig &config)=0 |
virtual int | takeLocalSnapshot (NERtcVideoStreamType stream_type, NERtcTakeSnapshotCallback *callback)=0 |
virtual int | takeRemoteSnapshot (uid_t uid, NERtcVideoStreamType stream_type, NERtcTakeSnapshotCallback *callback)=0 |
virtual int | startAudioRecording (const char *file_path, int sample_rate, NERtcAudioRecordingQuality quality)=0 |
virtual int | startAudioRecordingWithConfig (const NERtcAudioRecordingConfiguration &config)=0 |
virtual int | stopAudioRecording ()=0 |
virtual int | adjustUserPlaybackSignalVolume (uid_t uid, int volume)=0 |
virtual int | adjustChannelPlaybackSignalVolume (uint32_t volume)=0 |
virtual int | startChannelMediaRelay (NERtcChannelMediaRelayConfiguration *config)=0 |
virtual int | updateChannelMediaRelay (NERtcChannelMediaRelayConfiguration *config)=0 |
virtual int | stopChannelMediaRelay ()=0 |
virtual int | setLocalPublishFallbackOption (NERtcStreamFallbackOption option)=0 |
virtual int | setRemoteSubscribeFallbackOption (NERtcStreamFallbackOption option)=0 |
virtual int | enableSuperResolution (bool enable)=0 |
virtual int | enableEncryption (bool enable, NERtcEncryptionConfig config)=0 |
virtual int | startLastmileProbeTest (const NERtcLastmileProbeConfig &config)=0 |
virtual int | stopLastmileProbeTest ()=0 |
virtual int | setRemoteHighPriorityAudioStream (bool enabled, uid_t uid)=0 |
virtual int | checkNECastAudioDriver ()=0 |
virtual int | enableVirtualBackground (bool enabled, VirtualBackgroundSource backgroundSource, bool force=false)=0 |
virtual int | isFeatureSupported (NERtcFeatureType featureType, bool *support)=0 |
virtual NERTCFeatureSupportType | getFeatureSupportedType (NERtcFeatureType feature_type)=0 |
virtual int | setCloudProxy (int proxyType)=0 |
virtual int | enableLocalData (bool enabled)=0 |
virtual int | subscribeRemoteData (uid_t uid, bool subscribe)=0 |
virtual int | sendData (void *pData, uint64_t size)=0 |
virtual int | startBeauty (const char *file_path)=0 |
virtual void | stopBeauty ()=0 |
virtual void | enableBeauty (bool enabled)=0 |
virtual void | enableBeautyMirrorMode (bool enabled)=0 |
virtual float | getBeautyEffect (NERtcBeautyEffectType type)=0 |
virtual int | setBeautyEffect (NERtcBeautyEffectType type, float level)=0 |
virtual int | addBeautyFilter (const char *file_path)=0 |
virtual int | removeBeautyFilter ()=0 |
virtual int | setBeautyFilterLevel (float level)=0 |
virtual int | addBeautySticker (const char *file_path)=0 |
virtual int | removeBeautySticker ()=0 |
virtual int | addBeautyMakeup (const char *file_path)=0 |
virtual int | removeBeautyMakeup ()=0 |
virtual int | setLocalVoiceReverbParam (NERtcReverbParam ¶m)=0 |
virtual int | enableMediaPub (bool enabled, NERtcMediaPubType media_type)=0 |
virtual int | updatePermissionKey (const char *key)=0 |
virtual int | setEffectPosition (uint32_t effect_id, uint64_t timestamp_ms)=0 |
virtual int | getEffectCurrentPosition (uint64_t effect_id, uint64_t *timestamp_ms)=0 |
virtual int | getEffectDuration (uint64_t effect_id, uint64_t *duration_ms)=0 |
virtual int | reportCustomEvent (const char *event_name, const char *custom_identify, const char *parameters)=0 |
virtual int | setRangeAudioMode (NERtcRangeAudioMode mode)=0 |
virtual int | setRangeAudioTeamID (int32_t team_id)=0 |
virtual int | setAudioRecvRange (int audible_distance, int conversational_distance, NERtcDistanceRolloffModel roll_off)=0 |
virtual int | updateSelfPosition (const NERtcPositionInfo &info)=0 |
virtual int | enableSpatializerRoomEffects (bool enable)=0 |
virtual int | setSpatializerRoomProperty (const NERtcSpatializerRoomProperty &room_property)=0 |
virtual int | setSpatializerRenderMode (NERtcSpatializerRenderMode mode)=0 |
virtual int | initSpatializer ()=0 |
virtual int | enableSpatializer (bool enable, bool apply_to_team)=0 |
virtual int | startPushStreaming (const NERtcPushStreamingConfig &config)=0 |
virtual int | stopPushStreaming ()=0 |
![]() | |
virtual int | initialize (const NERtcEngineContext &context)=0 |
virtual void | release (bool sync=true)=0 |
virtual int | setClientRole (NERtcClientRole role)=0 |
virtual int | setChannelProfile (NERtcChannelProfileType profile)=0 |
virtual int | joinChannel (const char *token, const char *channel_name, uid_t uid)=0 |
virtual int | joinChannel (const char *token, const char *channel_name, uid_t uid, NERtcJoinChannelOptions channel_options)=0 |
virtual int | switchChannel (const char *token, const char *channel_name)=0 |
virtual int | switchChannel (const char *token, const char *channel_name, NERtcJoinChannelOptions channel_options)=0 |
virtual int | switchChannelEx (const char *token, const char *channel_name, NERtcJoinChannelOptionsEx channel_options_ex)=0 |
virtual int | leaveChannel ()=0 |
virtual int | queryInterface (NERtcInterfaceIdType iid, void **inter)=0 |
virtual int | enableLocalAudio (bool enabled)=0 |
virtual int | setupLocalVideoCanvas (NERtcVideoCanvas *canvas)=0 |
virtual int | setupRemoteVideoCanvas (uid_t uid, NERtcVideoCanvas *canvas)=0 |
virtual int | enableLocalVideo (bool enabled)=0 |
virtual int | enableLocalVideo (NERtcVideoStreamType type, bool enabled)=0 |
virtual int | subscribeRemoteVideoStream (uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe)=0 |
RtcEngine 类提供了供 App 调用的主要接口方法。
IRtcEngineEx 是 NERTC SDK 的扩展接口类。创建一个 IRtcEngine 对象并调用这个对象的方法可以激活 NERTC SDK 的通信功能。
|
pure virtual |
添加滤镜效果。
通过此接口可以实现加载滤镜资源,并添加对应的滤镜效果;若您需要更换滤镜,重复调用此接口使用新的滤镜资源即可。
参数名称 | 类型 | 描述 |
---|---|---|
file_path | const char* | 滤镜资源或模型所在的绝对路径。 |
|
pure virtual |
(此接口为 beta 版本)添加美妆效果。 此接口用于加载美妆模型,添加对应的美妆效果。需要更换美妆效果时,重复调用此接口使用新的美妆模型即可。
file_path | 美妆模型所在的绝对路径。 |
|
pure virtual |
(此接口为 beta 版本)添加贴纸效果。
此接口用于加载贴纸资源,添加对应的贴纸效果。需要更换贴纸时,重复调用此接口使用新的贴纸资源即可。
file_path | 贴纸资源或模型所在的绝对路径。 |
|
pure virtual |
添加房间内推流任务。 通过此接口可以实现增加一路旁路推流任务;若需推送多路流,则需多次调用该方法。
参数名称 | 类型 | 描述 |
---|---|---|
info | NERtcLiveStreamTaskInfo | 推流任务信息。 |
|
pure virtual |
调节本地播放的指定房间的所有远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定房间内的所有远端用户在本地播放的混音音量。
参数名称 | 类型 | 描述 |
---|---|---|
volume | uint64_t | 播放音量,取值范围为 [0,400]。
|
|
pure virtual |
调节声卡采集信号音量。
[in] | volume | 声卡采集信号音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 |
|
pure virtual |
调节本地播放的指定远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定远端用户在本地播放的混音音量。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uid_t | 远端用户 ID。 |
volume | int | 播放音量,取值范围为 0 ~ 400。
|
|
pure virtual |
检测虚拟声卡是否安装(仅适用于 Mac 系统)。 该接口会检测电脑是否安装最新版本的虚拟声卡。如果未安装,并且应用中已集成 NERTCPrivilegedTask 库,该接口会弹出安装虚拟声卡对话框,方便用户安装。
|
pure virtual |
创建一个 IRtcChannel 对象
[in] | channel_name | 房间名。设置相同房间名称的用户会进入同一个通话房间。字符串格式,长度为 1~ 64 字节。支持以下 89 个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~” |
|
pure virtual |
参数名称 | 类型 | 描述 |
---|---|---|
enable | bool | 是否启用说话者音量提示:
|
interval | uint64_t | 指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。 |
|
pure virtual |
启用说话者音量提示。
通过此接口可以实现允许 SDK 定期向 App 反馈房间内发音频流的用户和瞬时音量最高的远端用户(最多 3 位,包括本端)的音量相关信息,即当前谁在说话以及说话者的音量。
参数名称 | 类型 | 描述 |
---|---|---|
enable | bool | 是否启用说话者音量提示:
|
interval | uint64_t | 指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。 |
enableVad | boolean | 是否启用本地采集人声监测:
|
|
pure virtual |
暂停或恢复美颜效果。
通过此接口实现取消美颜效果后,包括全局美颜、滤镜在内的所有美颜效果都会暂时关闭,直至重新恢复美颜效果。
参数名称 | 类型 | 描述 |
---|---|---|
enabled | bool | 是否恢复美颜效果:
|
|
pure virtual |
启用美颜时,启用或关闭镜像模式。
enabled | 美颜时是否启用镜像模式。默认为 true ,表示美颜时启用镜像模式。false 表示美颜时取消镜像模式。 |
|
pure virtual |
设置是否开启视频大小流模式。
通过本接口可以实现设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
参数名称 | 类型 | 描述 |
---|---|---|
enable | bool | 是否开启双流模式:
|
|
pure virtual |
设置是否开启耳返功能。
volume
参数无效,请调用 setEarbackVolume 接口设置耳返音量。 参数名称 | 类型 | 描述 |
---|---|---|
enabled | bool | 是否开启耳返功能:
|
volume | uint32_t | 设置耳返音量。取值范围为 0 ~ 100,默认值为 100。 |
|
pure virtual |
开启或关闭媒体流加密。
enable | 是否开启媒体流加密。
|
config | 媒体流加密方案。详细信息请参考 nertc::NERtcEncryptionConfig。 |
|
pure virtual |
开启或关闭本地数据通道。
[in] | enabled | 是否启用本地数据通道:
|
|
pure virtual |
开启或关闭音频辅流。
开启时远端会收到 onUserSubStreamAudioStart,关闭时远端会收到 onUserSubStreamAudioStop。
[in] | enabled | 是否开启音频辅流。
|
|
pure virtual |
开启或关闭声卡采集。
[in] | enabled | 是否开启声卡采集功能。
|
[in] | device_name | 声卡的设备名。默认设为 NULL,即使用当前声卡采集。 该参数仅适用于 macOS 平台。 如果用户使用虚拟声卡,如 “Soundflower”,可以将虚拟声卡名称 “Soundflower” 作为参数,SDK 会找到对应的虚拟声卡设备,并开始采集。 |
|
pure virtual |
开启或关闭本地媒体流(主流)的发送。
该方法用于开始或停止向网络发送本地音频或视频数据。
该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。
enabled | 是否发布本地媒体流。
|
media_type | 媒体发布类型,暂时仅支持音频。 |
|
pure virtual |
开启或关闭空间音效
enable | 是否打开 3D 音效算法功能,默认为关闭状态。
|
apply_to_team | 是否仅本小队开启 3D 音效。默认为 false。
|
|
pure virtual |
开启或关闭空间音效的房间混响效果
enable | 混响效果开关,默认值关闭 |
|
pure virtual |
启用或停止 AI 超分。
enable | 是否启用 AI 超分。默认为关闭状态。 |
|
pure virtual |
开启或关闭虚拟背景。
启用虚拟背景功能后,您可以使用自定义图片替换本地用户的原始背景图片。
替换后,频道内所有用户都可以看到该自定义图片。
enabled | 设置是否开启虚拟背景。
|
backgroundSource | 自定义背景图片。请参考 VirtualBackgroundSource 。 |
force | 是否强制开启该功能。默认为 false。 |
|
pure virtual |
获取音乐文件的播放进度。
该方法获取当前伴奏播放进度,单位为毫秒。请在房间内调用该方法。
[out] | position | 伴奏播放进度,单位为毫秒。 |
|
pure virtual |
获取伴奏时长。
该方法获取伴奏时长,单位为毫秒。请在房间内调用该方法。
[out] | duration | 伴奏时长,单位为毫秒。 |
|
pure virtual |
获取当前伴音文件的音调。
参数名称 | 类型 | 描述 |
---|---|---|
pitch | int32_t* | 当前伴音文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音;取值的绝对值越大,音调升高或降低得越多。 |
|
pure virtual |
获取伴奏播放音量。
该方法获取混音里伴奏的播放音量大小。请在房间内调用该方法。
[out] | volume | 伴奏播放音量。 |
|
pure virtual |
获取伴奏发送音量。
该方法获取混音里伴奏的发送音量大小。请在房间内调用该方法。
[out] | volume | 伴奏发送音量。 |
|
pure virtual |
获取指定美颜类型的强度设置。
通过接口 setBeautyEffect
设置美颜效果及强度后,可以通过此接口查看指定美颜效果的强度设置。
type | 美颜类型。 |
|
pure virtual |
获取当前房间连接状态。
|
pure virtual |
获取指定音效文件的播放进度。
参数名称 | 类型 | 描述 |
---|---|---|
effect_id | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
timestamp_ms | uint64_t* | 指定音效文件的当前播放位置。单位为毫秒。 |
|
pure virtual |
获取指定音效文件的时长。
参数名称 | 类型 | 描述 |
---|---|---|
effect_id | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
duration_ms | uint64_t* | 指定音效文件的时长。单位为毫秒。 |
|
pure virtual |
获取指定音效文件的音调。
参数名称 | 类型 | 描述 |
---|---|---|
effect_id | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
pitch | int32_t | 指定音效文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音;取值的绝对值越大,音调升高或降低得越多。 |
|
pure virtual |
获取音效文件播放音量。
请在加入房间后调用该方法。
[in] | effect_id | 指定音效的 ID。每个音效均有唯一的 ID。 |
[out] | volume | 音效播放音量。 |
|
pure virtual |
获取音效发送音量。 该方法获取音效的发送音量大小。请在房间内调用该方法。
[in] | effect_id | 指定音效的 ID。每个音效均有唯一的 ID。 |
[out] | volume | 音效发送音量。 |
|
pure virtual |
查看指定错误码的错误信息。
[in] | error_code | #NERtcErrorCode。 |
|
pure virtual |
查询当前设备支持的 NERtc SDK 的某项功能的级别。以虚拟背景为例,在用户跳转 UI 至直播之前,您可调用此接口查询设备支持虚拟背景的级别。
feature_type | RTC 功能类型。 |
force
参数实现。
|
pure virtual |
获取本地系统时间与服务端时间差值。
可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。
|
pure virtual |
以 String 的形式获取一些内部参数。
此接口为隐藏接口,需要特定参数及特定时机,详情请 提交工单 联系网易云信技术支持工程师。
参数名称 | 类型 | 描述 |
---|---|---|
parameters | const char | 音视频通话的参数集合。参数 key,详细信息请参考 nertc_engine_defines.h 中的定义。 |
extra_info | const char | 额外的信息。 |
|
pure virtual |
获得一个可以分享的屏幕和窗口的列表
屏幕共享或窗口共享前,您可以调用该方法获取可共享的屏幕和窗口的对象列表,方便用户通过列表中的缩略图选择共享某个显示器的屏幕或某个窗口。 列表中包含窗口 ID 和屏幕 ID 等重要信息,您可以获取到 ID 后再调用 startScreenCaptureByDisplayId 或 startScreenCaptureByWindowId 开启共享。
thumbSize | 屏幕或窗口的缩略图的目标尺寸(宽高单位为像素)。参考 NERtcSize。 SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。 例如,原图宽高为 400 × 300,thumbSize 为 100 x 100,缩略图实际尺寸为 100 × 75。 如果目标尺寸大于原图尺寸,缩略图即为原图,SDK 不进行缩放操作。 |
iconSize | 程序所对应的图标的目标尺寸(宽高单位为像素)。参考 NERtcSize。 SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。 例如,原图宽高为 400 × 300,iconSize 为 100 × 100,图标实际尺寸为 100 × 75。 如果目标尺寸大于原图尺寸,图标即为原图,SDK 不进行缩放操作。 |
includeScreen | 除了窗口信息外,SDK 是否还返回屏幕信息:
|
|
pure virtual |
查询 SDK 版本号。 该方法在加入房间前后都能调用。
[out] | build | 编译号。 |
|
pure virtual |
初始化引擎 3D 音效算法
|
pure virtual |
查询当前设备是否支持 NERtc SDK 的某项功能。
参数名称 | 类型 | 描述 |
---|---|---|
featureType | NERtcFeatureType | RTC 功能类型。 |
support | bool* | 是否支持 RTC 功能类型。 |
|
pure virtual |
开启或关闭本地音频主流的发送。
该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。
参数名称 | 类型 | 描述 |
---|---|---|
mute | bool | 是否关闭本地音频的发送:
|
|
pure virtual |
静音或解除静音本地上行的音频辅流。
mute | 是否静音本地音频辅流发送。
|
|
pure virtual |
取消或恢复发布本端视频主流。
调用该方法取消发布本地视频主流后,SDK 不再发送本地视频主流。
参数名称 | 类型 | 描述 |
---|---|---|
mute | bool | 是否取消发布本地视频流:
|
|
pure virtual |
取消或恢复发布本地视频。
调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
mute | bool | 是否取消发布本地视频流:
|
|
pure virtual |
暂停所有音效文件播放。
请在房间内调用该方法。
|
pure virtual |
暂停伴音。
通过此接口可以实现暂停播放伴音文件。
|
pure virtual |
暂停音效文件播放。
请在房间内调用该方法。
[in] | effect_id | 指定音效的 ID。每个音效均有唯一的 ID。 |
|
pure virtual |
暂停屏幕共享。
|
pure virtual |
播放指定音效文件。 通过此接口可以实现播放指定的本地或在线音效文件。
参数名称 | 类型 | 描述 |
---|---|---|
effect_id | uint32_t | 指定音效的 ID。每个音效均应有唯一的 ID。 |
option | NERtcCreateAudioEffectOption * | 音效相关参数,包括混音任务类型、混音文件路径等。详细信息请参考 NERtcCreateAudioEffectOption。 |
|
pure virtual |
拉取外部音频数据。
该方法将从内部引擎拉取音频数据。 通过 setExternalAudioRender 启用外部音频数据渲染功能成功后,可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。
[out] | data | 数据指针,SDK 内部会将数据拷贝到 data 中。 |
[in] | len | 待拉取音频数据的字节数,单位为 byte。
|
|
pure virtual |
推送外部音频主流编码帧。
参数名称 | 类型 | 描述 |
---|---|---|
encoded_frame | NERtcAudioEncodedFrame* | 编码后的音频帧数据。 |
|
pure virtual |
推送外部音频数据输入。
将外部音频数据帧推送给内部引擎。 通过 setExternalAudioSource 启用外部音频数据输入功能成功后,可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。
[in] | frame | 外部音频帧数据;数据长度不能超过 7680 字节,和调用周期时长一致。 |
|
pure virtual |
推送外部音频辅流编码帧。
参数名称 | 类型 | 描述 |
---|---|---|
encoded_frame | NERtcAudioEncodedFrame* | 编码后的音频帧数据。 |
|
pure virtual |
推送外部音频辅流数据帧。
将外部音频辅流帧数据帧主动推送给内部引擎。通过 enableLocalSubStreamAudio
启用音频辅流后,可以调用此接口发送音频辅流 PCM 数据。
frame | 音频帧数据。 |
|
pure virtual |
推送外部视频编码帧。
参数名称 | 类型 | 描述 |
---|---|---|
encoded_frame | NERtcVideoEncodedFrame* | 编码后的视频帧数据。 |
type | NERtcVideoStreamType | 视频通道类型:
|
|
pure virtual |
推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。 请确保在您调用本方法前已调用 setExternalVideoSource,并将参数设为 true,否则调用本方法后会一直报错。
[in] | frame | 外部视频帧数据。详细信息请参考 NERtcVideoFrame。 |
|
pure virtual |
推送外部视频帧。
通过本接口可以实现创建外部视频输入源之后,将主流或辅流的外部视频数据帧用 NERtcVideoFrame 类封装后传递给 SDK。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
frame | NERtcVideoFrame | 外部视频帧的数据信息。 |
|
pure virtual |
取消滤镜效果。
|
pure virtual |
(此接口为 beta 版本)取消美妆效果。
|
pure virtual |
(此接口为 beta 版本)取消贴纸效果。
|
pure virtual |
删除房间内指定推流任务。
参数名称 | 类型 | 描述 |
---|---|---|
task_id | const char* | 推流任务 ID。 |
|
pure virtual |
恢复播放所有音效文件。
请在房间内调用该方法。
|
pure virtual |
恢复伴音。
通过此接口可以实现恢复播放伴音文件。
|
pure virtual |
恢复播放指定音效文件。
请在房间内调用该方法。
[in] | effect_id | 指定音效的 ID。每个音效均有唯一的 ID。 |
|
pure virtual |
恢复屏幕共享。
在 Windows 平台中,远端会触发 onScreenCaptureStatus 回调。
|
pure virtual |
通过数据通道发送数据。
[in] | pData | 自定义数据。 |
[in] | size | 自定义数据长度, 最大不超过 128k。 |
|
pure virtual |
发送媒体补充增强信息(SEI)。 在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 IRtcEngineEventHandlerEx::onRecvSEIMsg 的回调获取 SEI 内容。
data | 自定义 SEI 数据。 |
length | 自定义 SEI 数据长度,最大不超过 4096 字节。 |
|
pure virtual |
发送媒体补充增强信息(SEI)。
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 IRtcEngineEventHandlerEx::onRecvSEIMsg 的回调获取 SEI 内容。
data | 自定义 SEI 数据。 |
length | 自定义 SEI 数据长度,最大不超过 4096 字节。 |
type | 发送 SEI 时,使用的流通道类型。详细信息请参考 #NERtcVideoStreamType。 |
|
pure virtual |
预设变声效果。
通过此接口可以实现将人声原音调整为多种特殊效果,改变声音特性。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVoiceChangerType | 预设的变声音效。默认关闭变声音效。 |
|
pure virtual |
注册语音观测器对象。
通过此接口可以设置音频采集/播放 PCM 回调,可用于声音处理等操作。
参数名称 | 类型 | 描述 |
---|---|---|
observer | INERtcAudioFrameObserver | 接口对象实例。如果传入参数为 NULL,取消注册,同时会清理 NERtcAudioFrameRequestFormat 的相关设置。 |
|
pure virtual |
设置当前伴音文件的音调。
参数名称 | 类型 | 描述 |
---|---|---|
pitch | int32_t | 当前伴音文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音;取值的绝对值越大,音调升高或降低得越多。 |
|
pure virtual |
调节伴奏播放音量。
该方法调节混音里伴奏的播放音量大小。请在房间内调用该方法。
[in] | volume | 伴奏音量范围为 0~200。默认 100 为原始文件音量。 |
|
pure virtual |
设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样您可以根据实际情况播放文件,而非从头到尾播放整个文件。
[in] | seek_position | 进度条位置,单位为毫秒。 |
|
pure virtual |
调节伴奏发送音量。
该方法调节混音里伴奏的发送音量大小。请在房间内调用该方法。
[in] | volume | 伴奏发送音量。取值范围为 0~200。默认 100 为原始文件音量。 |
|
pure virtual |
设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等。
参数名称 | 类型 | 描述 |
---|---|---|
profile | NERtcAudioProfileType | 设置采样率、码率、编码模式和声道数。 |
|
pure virtual |
设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等,也可以设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。
参数名称 | 类型 | 描述 |
---|---|---|
profile | NERtcAudioProfileType | 设置采样率、码率、编码模式和声道数。 |
scenario | NERtcAudioScenarioType | 设置音频应用场景。 |
|
pure virtual |
设置空间音效的距离衰减属性和语音范围。
audible_distance | 监听器能够听到扬声器并接收其语音的距离扬声器的最大距离。距离有效范围:[1,max int),无默认值。 |
conversational_distance | 范围语音场景中,该参数设置的值不起作用,保持默认值即可。空间音效场景中,需要配置该参数。控制音频保持其原始音量的范围,超出该范围时,语音聊天的响度在被听到时开始淡出。 默认值为 1。 |
roll_off | 范围语音场景中,该参数设置的值不起作用,保持默认值即可。空间音效场景中,需要配置该参数。距离衰减模式,具体请参考 #NERtcDistanceRolloffModel,默认值 kNERtcDistanceRolloffNone |
|
pure virtual |
设置音频应用场景。
通过此接口可以实现设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景。也可以使用 通过 INERtcEngine#setChannelProfile:
设置其他场景,包括 1v1 呼叫场景、清晰度较高的 1v1 呼叫场景、语聊房场景、清晰度较高的语聊房场景、会议场景。
参数名称 | 类型 | 描述 |
---|---|---|
scenario | NERtcAudioScenarioType | 设置音频应用场景。 |
|
pure virtual |
设置自己的音频只能被房间内指定的人订阅。
默认房间所有其他人都可以订阅自己的音频。
[in] | uid_array | 可订阅自己音频的用户 uid 列表。 |
[in] | size | uid_array 的数组长度。 |
|
pure virtual |
设置美颜效果。 通过此接口可以实现设置磨皮、美白、大眼等多种全局美颜类型和对应的美颜强度。
NERtcBeauty#setBeautyEffectWithValue:atType:
方法。参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcBeautyEffectType | 美颜类型。 |
level | float | 对应美颜类型的强度。取值范围为 [0, 1],各种美颜效果的默认值不同。 |
NERtcBeauty#addBeautyFilterWithPath:andName:
方法叠加滤镜等自定义美颜效果。
|
pure virtual |
设置滤镜强度。 取值越大,滤镜强度越大,开发者可以根据业务需求自定义设置滤镜强度。
level | 滤镜强度。取值范围为 [0 - 1],默认值为 0.5。 |
|
pure virtual |
设置本地摄像头的视频主流采集配置。
通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
captureConfig | NERtcCameraCaptureConfig | 本地摄像头采集配置。 |
|
pure virtual |
设置本地摄像头的视频主流或辅流采集配置。
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
captureConfig | NERtcCameraCaptureConfig | 本地摄像头采集配置。 |
|
pure virtual |
开启并设置云代理服务。
在内网环境下,如果用户防火墙开启了网络限制,请参考《使用云代理》将指定 IP 地址和端口号加入防火墙白名单,然后调用此方法开启云代理,并将 proxyType 参数设置为 NERtcTransportTypeUDPProxy(1),即指定使用 UDP 协议的云代理。
onNERtcEngineConnectionStateChangeWithState(kNERtcConnectionStateConnecting, kNERtcReasonConnectionChangedSettingProxyServer)
回调。setCloudProxy(NERtcTransportTypeNoneProxy)
。 proxyType | 云代理类型。详细信息请参考 NERtcTransportType 。该参数为必填参数,若未赋值,SDK 会报错。 |
0
方法调用成功,其他失败。
|
pure virtual |
设置耳返音量。 请在房间内调用该方法。
[in] | volume | 耳返音量。可设置为 0~100,默认为 100。 |
|
pure virtual |
设置指定音效文件的音调。
参数名称 | 类型 | 描述 |
---|---|---|
effect_id | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
pitch | int32_t | 指定音效文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音;取值的绝对值越大,音调升高或降低得越多。 |
|
pure virtual |
设置音效文件播放音量。 请在加入房间后调用该方法。
[in] | effect_id | 指定音效的 ID。每个音效均有唯一的 ID。 |
[in] | volume | 音效播放音量。范围为 0~100,默认为 100。 |
|
pure virtual |
设置指定音效文件的播放位置。
参数名称 | 类型 | 描述 |
---|---|---|
effect_id | uint32_t | 指定音效文件的 ID。每个音效文件均对应唯一的 ID。 |
timestamp_ms | uint64_t | 指定音效文件的起始播放位置。单位为毫秒。 |
|
pure virtual |
调节音效发送音量。 该方法调节音效的发送音量大小。请在房间内调用该方法。
[in] | effect_id | 指定音效的 ID。每个音效均有唯一的 ID。 |
[in] | volume | 音效音量范围为 0~100。默认 100 为原始文件音量。 |
|
pure virtual |
设置共享整个屏幕或屏幕指定区域时,需要屏蔽的窗口列表。
开启屏幕共享时,可以通过 NERtcScreenCaptureParameters 设置需要屏蔽的窗口列表;开发者可以在开启屏幕共享后,通过此方法动态调整需要屏蔽的窗口列表。被屏蔽的窗口不会显示在屏幕共享区域中。
window_list | 需要屏蔽的窗口 ID 列表。 |
count | 需屏蔽的窗口的数量。 |
|
pure virtual |
设置外部音频渲染。
通过此接口可以实现启用外部音频渲染,并设置音频渲染的采样率、声道数等。
enable
参数为 false 关闭该功能时,其他参数可传入任意合法值,均不会生效。 参数名称 | 类型 | 描述 |
---|---|---|
enabled | bool | 是否开启外部音频渲染:
|
sample_rate | int | 外部音频渲染的采样率,单位为赫兹(Hz),可设置为 16000,32000,44100 或 48000。 |
channels | int | 外部音频渲染的声道数,可设置为:
|
|
pure virtual |
开启或关闭外部音频源数据输入。
通过本接口可以实现创建自定义的外部音频源,并通过主流通道传输该外部音频源的数据。
参数名称 | 类型 | 描述 |
---|---|---|
enabled | bool | 是否开启外部音频输入:
|
sample_rate | int | 外部音频源的数据采样率,单位为 Hz。建议设置为 8000,16000,32000,44100 或 48000。 |
channels | int | 外部音频源的数据声道数:
|
|
pure virtual |
开启或关闭外部音频辅流数据源输入。
通过本接口可以实现创建自定义的外部音频源,并通过辅流通道传输该外部音频源的数据。
参数名称 | 类型 | 描述 |
---|---|---|
enabled | bool | 是否开启外部音频输入:
|
sample_rate | int | 外部音频源的数据采样率,单位为 Hz。建议设置为 8000,16000,32000,44100 或 48000。 |
channels | int | 外部音频源的数据声道数:
|
|
pure virtual |
开启或关闭外部视频源数据输入。
通过本接口可以实现创建自定义的外部视频源,并通过主流通道传输该外部视频源的数据。
参数名称 | 类型 | 描述 |
---|---|---|
enable | bool | 是否开启外部视频输入:
|
|
pure virtual |
开启或关闭外部视频源数据输入。
通过本接口可以实现创建自定义的外部视频源,您可以选择通过主流或辅流通道传输该外部视频源的数据。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
enable | bool | 是否使用外部视频源:
|
|
pure virtual |
设置本地用户的媒体流优先级。
通过此接口可以实现设置某用户的媒体流优先级为高,从而弱网环境下 SDK 会优先保证其他用户收到的该用户媒体流的质量。
参数名称 | 类型 | 描述 |
---|---|---|
priority | NERtcMediaPriorityType | 本地用户的媒体流优先级,默认为 kNERtcMediaPriorityNormal,即普通优先级。 |
is_preemptive | bool | 是否开启抢占模式,默认为 NO,即不开启:
|
|
pure virtual |
设置弱网条件下发布的音视频流回退选项。
在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackAudioOnly 后:
option | 发布音视频流的回退选项,默认为不开启回退 kNERtcStreamFallbackAudioOnly。详细信息请参考 nertc::NERTCStreamFallbackOption。 |
0
方法调用成功,其他调用失败
|
pure virtual |
设置画布中本地视频画面的显示模式。
通过本接口可以实现设置本地视频画面的适应性,即是否裁剪或缩放。
参数名称 | 类型 | 描述 |
---|---|---|
scaling_mode | int | 视频显示模式类型:
|
|
pure virtual |
设置本端的屏幕共享辅流视频显示模式。
该方法设置本地视图显示模式。 App 可以多次调用此方法更改显示模式。
[in] | scaling_mode | 视频显示模式。 |
|
pure virtual |
设置本地视频镜像模式。
该方法用于设置本地视频是否开启镜像模式,即画面是否左右翻转。
[in] | mirror_mode | 视频镜像模式。详细信息请参考 NERtcVideoMirrorMode 。 |
|
pure virtual |
设置本地视频镜像模式。
通过此接口可以设置本地视频是否开启镜像模式,即画面是否左右翻转。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
mirror_mode | NERtcVideoMirrorMode | 视频镜像模式:
|
|
pure virtual |
设置视频水印,水印在本地预览及发送过程中均生效。
enabled | 添加或删除水印。
|
type | 视频流类型。支持设置为主流或辅流。详细信息请参考 #NERtcVideoStreamType。 |
config | 画布水印设置。支持设置文字水印、图片水印和时间戳水印。详细信息请参考 NERtcVideoWatermarkConfig。 |
|
pure virtual |
设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。
[in] | band_frequency | 频谱子带索引,取值范围是 [0-9],分别代表 10 个频带,对应的中心频率是 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。 |
[in] | band_gain | 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 |
|
pure virtual |
设置本地语音音调。 该方法改变本地说话人声音的音调。
[in] | pitch | 语音频率。可以在 [0.5, 2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 |
|
pure virtual |
设置本地语音混响效果。
param | 详细信息请参考 NERtcReverbParam 。 |
|
pure virtual |
设置采集和播放声音混音后的音频数据采样率。
通过本接口可以实现设置 onMixedAudioFrame 回调的混音音频采样率。
参数名称 | 类型 | 描述 |
---|---|---|
sample_rate | int | 指定 onMixedAudioFrame 中返回数据的采样率。可以设置为 8000,16000,32000,44100 或 48000。若您希望使用音频的原始格式,format 参数传 NULL 即可,默认为 NULL。 |
|
pure virtual |
设置音视频通话的相关参数。
此接口以标准化方式公开 JSON 选项,提供技术预览或特别定制功能,详情请 提交工单 联系网易云信技术支持工程师。
参数名称 | 类型 | 描述 |
---|---|---|
parameters | const char | 音视频通话的参数集合。JSON 字符串形式,参数 key,详细信息请参考 nertc_engine_defines.h 中的定义。 |
|
pure virtual |
设置音频播放回调的声音格式。
通过此接口可以实现设置 SDK 播放音频 PCM 回调 onPlaybackAudioFrameBeforeMixing 的采样率及声道数,同时还可以设置读写模式。在写模式下,您可以通过 onAudioFrameWillPlayback 回调修改 PCM 数据,后续将播放修改后的音频数据。
参数名称 | 类型 | 描述 |
---|---|---|
format | NERtcAudioFrameRequestFormat | mode暂时无效,只允许只读模式。指定 onPlaybackAudioFrameBeforeMixing 中返回数据的采样率和数据的通道数。允许传入 NULL,默认为 NULL,表示使用音频的原始格式。 |
|
pure virtual |
设置音频播放回调的声音格式。
通过此接口可以实现设置 SDK 播放音频 PCM 回调 onAudioFrameWillPlayback 的采样率及声道数,同时还可以设置读写模式。在写模式下,您可以通过 onAudioFrameWillPlayback 回调修改 PCM 数据,后续将播放修改后的音频数据。
参数名称 | 类型 | 描述 |
---|---|---|
format | NERtcAudioFrameRequestFormat | 指定 onAudioFrameWillPlayback 中返回数据的采样率和数据的通道数。允许传入 NULL,默认为 NULL,表示使用音频的原始格式。 |
|
pure virtual |
注册解码前媒体数据观测器。
参数名称 | 类型 | 描述 |
---|---|---|
observer | INERtcPreDecodeObserver * | 接口对象实例。可以传 NULL 表示取消注册。 |
|
pure virtual |
设置玩家本人在房间中的范围语音模式,该设置不影响其他人。
[in] | mode | 范围语音模式,包括所有人和仅小队两种模式。具体请参考 #NERtcRangeAudioMode。 |
|
pure virtual |
设置范围语音的小队 ID。
team_id | 小队 ID, 有效值: >=0。若 team_id = 0,则房间内所有人(不论范围语音的模式是所有人还是仅小队)都可以听到该成员的声音。 |
|
pure virtual |
设置采集的音频格式。
通过本接口可以实现设置 onAudioFrameDidRecord 回调的录制声音格式。
参数名称 | 类型 | 描述 |
---|---|---|
format | NERtcAudioFrameRequestFormat | 指定 onAudioFrameDidRecord 中返回数据的采样率和数据的通道数。 |
|
pure virtual |
设置远端用户音频流为高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。
[in] | enabled | 是否设置音频订阅优先级。
|
[in] | uid | 用户 ID |
|
pure virtual |
设置远端视图显示模式。 该方法设置远端视图显示模式。App 可以多次调用此方法更改显示模式。
[in] | uid | 远端用户 ID。 |
[in] | scaling_mode | 视频显示模式: NERtcVideoScalingMode |
|
pure virtual |
设置弱网条件下订阅的音视频流回退选项。
弱网环境下,订阅的音视频质量会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackVideoStreamLow 或者 kNERtcStreamFallbackAudioOnly 后:
option | 订阅音视频流的回退选项,默认为弱网时回退到视频小流 kNERtcStreamFallbackVideoStreamLow。详细信息请参考 nertc::NERTCStreamFallbackOption。 |
0
方法调用成功,其他调用失败
|
pure virtual |
设置远端的屏幕共享辅流视频显示模式。
在远端开启辅流形式的屏幕共享时使用。App 可以多次调用此方法更改显示模式。
[in] | uid | 远端用户 ID。 |
[in] | scaling_mode | 视频显示模式。 |
|
pure virtual |
在共享屏幕或窗口时,更新是否显示鼠标。
capture_cursor | 屏幕共享时是否捕捉鼠标光标。
|
|
pure virtual |
设置屏幕分享参数,该方法在屏幕分享过程中调用,用来快速切换采集源。
如果您期望在屏幕分享的过程中,切换想要分享的窗口,可以再次调用这个函数而不需要重新开启屏幕分享。 支持如下四种情况:
source | 指定分享源,通过 getScreenCaptureSources 获取。 |
region_rect | 指定捕获的区域。 |
capture_params | 指定屏幕分享目标的属性,包括捕获鼠标,高亮捕获窗口等,详情参考 NERtcScreenCaptureParameters 定义。 |
|
pure virtual |
设置空间音效的渲染模式
mode | 渲染模式,具体请参考 NERtcSpatializerRenderMode,默认值 kNERtcSpatializerRenderBinauralHighQuality |
|
pure virtual |
设置空间音效的房间混响属性
room_property | 房间属性,具体请参考 NERtcSpatializerRoomProperty |
|
pure virtual |
注册统计信息观测器。
[in] | observer | 统计信息观测器 |
|
pure virtual |
开启精准对齐。 通过此接口可以实现精准对齐功能,对齐本地系统与服务端的时间。
参数名称 | 类型 | 描述 |
---|---|---|
enable | bool | 是否开启精准对齐功能:
|
|
pure virtual |
您可以调用该方法指定只订阅的音频流。
[in] | uid_array | 只订阅此 用户 uid 列表 的音频。 |
[in] | size | uid_array 的数组长度。 |
|
pure virtual |
您可以调用该方法指定不订阅的音频流。
[in] | uid_array | 不订阅此 用户 uid 列表 的音频。 |
[in] | size | uid_array 的数组长度。 |
|
pure virtual |
设置本端用户的视频辅流画布。
通过此接口可以实现设置本端用户的辅流显示视图。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas* | 视频画布。详细信息请参考 nertc::NERtcVideoCanvas 'NERtcVideoCanvas"。 |
|
pure virtual |
设置远端用户的视频辅流画布。
通过此接口可以实现绑定远端用户和对应辅流的显示视图,即指定某个 uid 使用对应的画布显示。
参数名称 | 类型 | 描述 |
---|---|---|
canvas | NERtcVideoCanvas* | 视频画布。详细信息请参考 NERtcVideoView。 |
uid | uid_t | 远端用户 ID。 |
|
pure virtual |
设置视频编码属性。
通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考 设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcVideoConfig | 视频编码属性配置。 |
|
pure virtual |
设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考 设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
config | NERtcVideoConfig | 视频编码属性配置。 |
|
pure virtual |
注册视频编码 QoS 信息监听器。
参数名称 | 类型 | 描述 |
---|---|---|
observer | INERtcVideoEncoderQosObserver * | 接口对象实例。可以传 NULL 表示取消注册。 |
|
pure virtual |
预设美声效果。 通过此接口可以实现为本地发流用户设置 SDK 预设的人声美声效果。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVoiceBeautifierType | 预设的美声效果模式。默认值为 kNERtcVoiceBeautifierOff,即关闭美声效果。 |
|
pure virtual |
开始记录音频 dump。 音频 dump 可用于分析音频问题。
|
pure virtual |
开始记录音频 dump。
音频 dump 可用于分析音频问题。
type | 音频 dump 类型。详细信息请参考 #NERtcAudioDumpType。 |
|
pure virtual |
开启伴音。
通过本接口可以实现指定本地或在线音频文件和录音设备采集的音频流进行混音。
参数名称 | 类型 | 描述 |
---|---|---|
option | NERtcCreateAudioMixingOption | 创建伴音任务的配置选项,包括伴音任务类型、伴音文件的绝对路径或 URL 等。 |
|
pure virtual |
开启客户端本地录音。 通过此接口可以实现录制客户端房间内所有用户混音后的音频流,并将其保存在一个本地录音文件中。
参数名称 | 类型 | 描述 |
---|---|---|
file_path | const char* | 录音文件在本地保存的绝对路径,需要精确到文件名及格式,例如:sdcard/xxx/audio.aac。 |
sample_rate | int | 录音采样率。单位为赫兹(Hz),可以设置为 16000、32000(默认)、44100 或 48000。 |
quality | NERtcAudioRecordingQuality | 录音音质。此参数仅在 AAC 格式下有效。 |
|
pure virtual |
开始客户端录音。 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。 指定的录音音质不同,录音文件会保存为不同格式:
filePath | 录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。
|
sampleRate | 录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。 |
quality | 录音音质,只在 AAC 格式下有效。详细信息请参考 NERtcAudioRecordingQuality。 |
position | 录音对象。详细信息请参考 NERtcAudioRecordingPosition。 |
cycleTime | 循环缓存的最大时长跨度。该参数单位为秒,可以设为 0、10、60、360、900,默认值为 0,即实时写文件。 |
|
pure virtual |
开启美颜功能模块。
stopBeauty
结束美颜功能模块,销毁美颜引擎并释放资源。setBeautyEffect
或其他滤镜、贴纸相关接口设置美颜或滤镜效果。 enableLocalVideo
之前设置。file_path | 文件文件绝对路径。(例:windows 环境下传入 xxx\data\beauty\nebeauty) |
|
pure virtual |
开始跨房间媒体流转发。
onMediaRelayStateChange
和 onMediaRelayEvent
回调,并在回调中报告当前的跨房间媒体流转发状态和事件。 NERtcChannelMediaRelayConfiguration
中的 dest_infos
设置目标房间。stopChannelMediaRelay
方法退出当前的转发状态。updateChannelMediaRelay
更新目标房间信息。 config | 跨房间媒体流转发参数配置信息。 |
|
pure virtual |
开始通话前网络质量探测。
启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。
相关回调如下:
onLastmileQuality
:网络质量状态回调,以打分形式描述上下行网络质量的主观体验。该回调视网络情况在约 5 秒内返回。onLastmileProbeResult
:网络质量探测报告回调,报告中通过客观数据反馈上下行网络质量。该回调视网络情况在约 30 秒内返回。 onLastmileQuality
和 onLastmileProbeResult
回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。 config | Last mile 网络探测配置。 |
|
pure virtual |
开始推流。
通过本接口可以实现将 RTMP 流推到指定的地址。
参数名称 | 类型 | 描述 |
---|---|---|
config | NERtcPushStreamingConfig | 推流参数,参考 NERtcPushStreamingConfig |
|
pure virtual |
开启屏幕共享,共享范围为指定屏幕的指定区域。
通过此接口实现屏幕共享后,可以选择共享整个虚拟屏、指定屏幕,或虚拟屏、整个屏幕的某些区域范围。
参数名称 | 类型 | 描述 |
---|---|---|
display_id | unsigned int | 指定待共享的屏幕 ID。您需要自行实现枚举屏幕 ID 的方法,并通过该参数指定需要共享的屏幕。 |
region_rect | NERtcRectangle | 指定待共享的区域相对于整个窗口的位置。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 |
capture_params | NERtcScreenCaptureParameters | 屏幕共享的编码参数配置,包括码率、帧率、编码策略、屏蔽窗口列表等。 |
|
pure virtual |
开启屏幕共享,共享范围为指定屏幕的指定区域。
通过此接口实现屏幕共享后,可以选择共享整个虚拟屏、指定屏幕,或虚拟屏、整个屏幕的某些区域范围。
参数名称 | 类型 | 描述 |
---|---|---|
screen_rect | NERtcRectangle | 指定待共享的屏幕相对于虚拟屏的位置。 |
region_rect | NERtcRectangle | 指定待共享区域相对于整个屏幕的位置。比如设定采集到的屏幕帧数据 screen_rect 为 (x:0, y:0, width: 1920, height: 1080),同时设定共享区域 region_rect 为 (x: 200, y: 10, width: 400, height: 600),则在 (0,0,1920,1080) 的采集结果的基础上裁剪出指定的这一块区域。 |
capture_params | NERtcScreenCaptureParameters | 屏幕共享的编码参数配置,包括码率、帧率、编码策略、屏蔽窗口列表等。 |
|
pure virtual |
通过指定屏幕 ID 开启屏幕共享。
通过此接口实现屏幕共享时,需要指定待共享的屏幕 ID,共享该屏幕的整体画面或指定区域。
参数名称 | 类型 | 描述 |
---|---|---|
window_id | source_id_t | 指定待共享的屏幕 ID。 |
region_rect | NERtcRectangle | 指定待共享的区域相对于整个窗口的位置。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 |
capture_params | NERtcScreenCaptureParameters | 屏幕共享的编码参数配置,包括码率、帧率、编码策略、屏蔽窗口列表等。 |
|
pure virtual |
开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
|
pure virtual |
开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
|
pure virtual |
停止播放所有音效文件。 通过此接口可以实现在同时播放多个音效文件时,可以一次性停止播放所有文件(含暂停播放的文件)。
|
pure virtual |
结束记录音频 dump。
|
pure virtual |
停止伴音。
通过本接口可以实现停止播放本地或在线音频文件,或者录音设备采集的混音音频流。
|
pure virtual |
停止客户端本地录音。 本端用户离开房间时会自动停止本地录音,也可以通过此接口实现在通话过程中随时停止录音。
|
pure virtual |
结束美颜功能模块。
如果后续不再需要使用美颜功能,可以调用 stopBeauty
结束美颜功能模块,SDK 会自动销毁美颜引擎并释放资源。
|
pure virtual |
停止跨房间媒体流转发。
通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。
|
pure virtual |
停止播放指定音效文件。
参数名称 | 类型 | 描述 |
---|---|---|
effect_id | uint32_t | 指定音效文件的 ID,每个音效文件均有唯一的 ID。 |
|
pure virtual |
停止通话前网络质量探测。
|
pure virtual |
停止推流。
通过此接口可以停止当前正在进行的 RTMP 推流
|
pure virtual |
关闭屏幕共享。
通过此接口可以实现关闭屏幕共享辅流。
|
pure virtual |
停止视频预览。
通过此接口可以实现在预览本地视频后关闭预览。
|
pure virtual |
停止视频预览。
通过本接口可以实现在预览本地视频后关闭预览。
参数名称 | 类型 | 描述 |
---|---|---|
type | NERtcVideoStreamType | 视频通道类型:
|
|
pure virtual |
取消或恢复订阅所有远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,即 setParameters 方法的 KEY_AUTO_SUBSCRIBE_AUDIO 参数默认设置为 true;只有当该参数的设置为 false 时,此接口的调用才会生效。
参数名称 | 类型 | 描述 |
---|---|---|
subscribe | bool | 是否订阅所有用户的音频主流:
|
|
pure virtual |
取消或恢复订阅指定远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,您也可以通过此方法取消或恢复订阅指定远端用户的音频主流。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uid_t | 指定用户的 ID。 |
subscribe | bool | 是否订阅指定用户的音频主流:
|
|
pure virtual |
取消或恢复订阅指定远端用户数据通道流。
加入房间时,默认订阅所有远端用户的数据通道流,您可以通过此方法取消或恢复订阅指定远端用户的数据通道流。
[in] | uid | 指定用户的 ID。 |
[in] | subscribe | 是否订阅远端用户数据通道流。
|
|
pure virtual |
设置是否订阅指定远端用户的音频辅流。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uid_t | 远端用户 ID。 |
subscribe | bool | 是否订阅指定音频辅流:
|
|
pure virtual |
订阅或取消订阅远端用户的视频辅流。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uid_t | 远端用户 ID。 |
subsribe | bool | 是否订阅远端的视频辅流:
|
|
pure virtual |
本地视频画面截图。
调用 takeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 NERtcTakeSnapshotCallback::onTakeSnapshotResult 回调返回截图画面的数据。
stream_type | 截图的视频流类型。支持设置为主流或辅流。详细信息请参考 #NERtcVideoStreamType。 |
callback | 截图回调。详细信息请参考 NERtcTakeSnapshotCallback。 |
|
pure virtual |
远端视频画面截图。
调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcTakeSnapshotCallback::onTakeSnapshotResult 回调返回截图画面的数据。
uid | 远端用户 ID。 |
stream_type | 截图的视频流类型。支持设置为主流或辅流。详细信息请参考 #NERtcVideoStreamType。 |
callback | 截图回调。详细信息请参考 NERtcTakeSnapshotCallback。 |
|
pure virtual |
更新媒体流转发的目标房间。
成功开始跨房间转发媒体流后,如果您希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。
onMediaRelayStateChange
和 onMediaRelayEvent
回调,并在回调中报告当前的跨房间媒体流转发状态和事件。 startChannelMediaRelay
开始跨房间媒体流转发后,调用此方法。调用此方法前需要通过 NERtcChannelMediaRelayConfiguration
中的 dest_infos
设置目标房间。 config | 目标房间配置信息 |
|
pure virtual |
更新房间内指定推流任务。 通过此接口可以实现调整指定推流任务的编码参数、画布布局、推流模式等。
"addLiveStreamTask"
方法添加推流任务。 参数名称 | 类型 | 描述 |
---|---|---|
info | NERtcLiveStreamTaskInfo | 推流任务信息。 |
|
pure virtual |
更新权限密钥。
参数名称 | 类型 | 描述 |
---|---|---|
key | const char* | 新的权限密钥。 |
|
pure virtual |
更新屏幕共享参数。
开始共享屏幕或窗口后,动态更新采集帧率,目标码率,编码分辨率等屏幕共享相关参数。
参数名称 | 类型 | 描述 |
---|---|---|
captureParams | NERtcScreenCaptureParameters | 屏幕共享编码参数配置。 |
|
pure virtual |
在共享屏幕或窗口时,更新共享的区域。
在 Windows 平台中,远端会触发 onScreenCaptureStatus 回调。
region_rect | 指定待共享的区域相对于整个窗口或屏幕的位置。如果设置的共享区域超出了边界,则只共享指定区域中,窗口或屏幕内的内容;如果宽或高为 0,则共享整个窗口或屏幕。 |
|
pure virtual |
更新本地用户的空间位置。
参数名称 | 描述 |
---|---|
speaker_position | 说话者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值{0,0,0} |
speaker_quaternion | <note type="note">该参数设置的值暂时不起作用,保持默认值即可。</note>说话者的旋转信息,通过四元组来表示,数据格式为{w, x, y, z}。默认值{0,0,0,0} |
head_position | 接收者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值{0,0,0} |
head_quaternion | 接收者的旋转信息,通过四元组来表示,数据格式为{w, x, y, z}。默认值{0,0,0,0} |
|
pure virtual |
上传 SDK 信息。
只能在加入房间后调用。
上传的信息包括 log 和 Audio dump 等文件。