NERtc Unity SDK V.5.4.128
载入中...
搜索中...
未找到
nertc.IRtcEngine类 参考abstract
类 nertc.IRtcEngine 继承关系图:

Public 成员函数

int Initialize (RtcEngineContext param)
 
void Release (bool sync)
 
int SetClientRole (RtcClientRole role)
 
int SetChannelProfile (RtcChannelProfileType profile)
 
int JoinChannel (string token, string channelName, ulong uid, RtcJoinChannelOptions? channelOptions=null)
 
int SwitchChannel (string token, string channelName, RtcJoinChannelOptions? channelOptions=null)
 
int LeaveChannel ()
 
int EnableLocalAudio (RtcAudioStreamType type, bool enabled)
 
int SetupLocalVideoCanvas (RtcVideoStreamType type, RtcVideoCanvas canvas)
 
int SetupRemoteVideoCanvas (ulong uid, RtcVideoStreamType type, RtcVideoCanvas canvas)
 
int EnableLocalVideo (RtcVideoStreamType type, bool enabled)
 
int SubscribeRemoteVideoStream (ulong uid, RtcVideoStreamType type, RtcRemoteVideoStreamType streamType, bool subscribe)
 
int SwitchCamera ()
 
int SwitchCamera (RtcCameraPosition position)
 
int GetCurrentCamera (ref RtcCameraPosition position)
 
IRtcChannel CreateChannel (string channelName)
 
IRtcChannel GetChannel (string channelName)
 
RtcConnectionStateType GetConnectionState ()
 
int MuteLocalAudioStream (RtcAudioStreamType type, bool mute)
 
int SetAudioProfile (RtcAudioProfileType profile, RtcAudioScenarioType scenario)
 
int SetAudioEffectPreset (RtcVoiceChangerType type)
 
int SetVoiceBeautifierPreset (RtcVoiceBeautifierType type)
 
int SetLocalVoicePitch (double pitch)
 
int SetLocalVoiceEqualization (RtcVoiceEqualizationBand bandFrequency, int bandGain)
 
int SubscribeRemoteAudioStream (RtcAudioStreamType type, ulong uid, bool subscribe)
 
int SubscribeAllRemoteAudioStream (bool subscribe)
 
int SetAudioSubscribeOnlyBy (ulong[] uids)
 
int SetSubscribeAudioAllowList (ulong[] uids)
 
int SetSubscribeAudioBlockList (ulong[] uids)
 
int SetStreamAlignmentProperty (bool enable)
 
long GetNtpTimeOffset ()
 
int SetAudioSessionOperationRestriction (RtcAudioSessionOperationRestriction restriction)
 
int SetAudioFocusMode (RtcAudioFocusMode focusMode)
 
int SetPlayoutDeviceMute (bool muted)
 
int GetPlayoutDeviceMute (ref bool muted)
 
int SetRecordDeviceMute (bool muted)
 
int GetRecordDeviceMute (ref bool muted)
 
bool IsCameraZoomSupported ()
 
bool IsCameraTorchSupported ()
 
bool IsCameraFocusSupported ()
 
bool IsCameraExposurePositionSupported ()
 
int SetCameraExposurePosition (float pointX, float pointY)
 
int SetCameraTorchOn (bool on)
 
bool IsCameraTorchOn ()
 
int SetCameraZoomFactor (float factor)
 
float GetCameraCurrentZoom ()
 
float MaxCameraZoomScale ()
 
int SetCameraFocusPosition (float x, float y)
 
int SetCameraCaptureConfig (RtcVideoStreamType type, RtcCameraCaptureConfig config)
 
int SetVideoConfig (RtcVideoStreamType type, RtcVideoConfig config)
 
int EnableDualStreamMode (bool enable)
 
int SetLocalRenderMode (RtcVideoStreamType type, RtcVideoScalingMode scalingMode)
 
int SetLocalVideoMirrorMode (RtcVideoStreamType type, RtcVideoMirrorMode mirrorMode)
 
int SetRemoteRenderMode (ulong uid, RtcVideoStreamType type, RtcVideoScalingMode scalingMode)
 
int StartVideoPreview (RtcVideoStreamType type)
 
int StopVideoPreview (RtcVideoStreamType type)
 
int MuteLocalVideoStream (RtcVideoStreamType type, bool mute)
 
int SetLocalMediaPriority (int priority, bool isPreemptive)
 
int SetParameters (string parameters)
 
int SetRecordingAudioFrameParameters (RtcAudioFrameRequestFormat format)
 
int SetPlaybackAudioFrameParameters (RtcAudioFrameRequestFormat format)
 
int SetMixedAudioFrameParameters (int sampleRate)
 
int SetAudioFrameObserver (IAudioFrameObserver observer)
 
int StartAudioDump (RtcAudioDumpType type)
 
int StopAudioDump ()
 
int SetLoudSpeakerMode (bool enable)
 
int GetLoudSpeakerMode (ref bool enabled)
 
int StartAudioMixing (RtcCreateAudioMixingOption option)
 
int StopAudioMixing ()
 
int PauseAudioMixing ()
 
int ResumeAudioMixing ()
 
int SetAudioMixingSendVolume (uint volume)
 
int GetAudioMixingSendVolume (ref uint volume)
 
int SetAudioMixingPlaybackVolume (uint volume)
 
int GetAudioMixingPlaybackVolume (ref uint volume)
 
int GetAudioMixingDuration (ref ulong duration)
 
int GetAudioMixingCurrentPosition (ref ulong position)
 
int SetAudioMixingPosition (ulong seekPosition)
 
int SetAudioMixingPitch (int pitch)
 
int GetAudioMixingPitch (ref int pitch)
 
int PlayEffect (uint effectId, RtcCreateAudioEffectOption option)
 
int StopEffect (uint effectId)
 
int StopAllEffects ()
 
int PauseEffect (uint effectId)
 
int ResumeEffect (uint effectId)
 
int PauseAllEffects ()
 
int ResumeAllEffects ()
 
int SetEffectSendVolume (uint effectId, uint volume)
 
int GetEffectSendVolume (uint effectId, ref uint volume)
 
int SetEffectPlaybackVolume (uint effectId, uint volume)
 
int GetEffectPlaybackVolume (uint effectId, ref uint volume)
 
int SetEffectPitch (uint effectId, int pitch)
 
int GetEffectPitch (uint effectId, ref int pitch)
 
int SetEffectPosition (uint effectId, ulong timestamp)
 
int GetEffectCurrentPosition (uint effectId, ref ulong timestamp)
 
int GetEffectDuration (uint effectId, ref ulong duration)
 
int EnableEarback (bool enabled, uint volume)
 
int SetEarbackVolume (uint volume)
 
int EnableLoopbackRecording (bool enabled, string deviceName)
 
int AdjustLoopbackRecordingSignalVolume (uint volume)
 
int SetStatsObserver (IMediaStatsObserver observer)
 
int SetVideoEncoderQosObserver (IVideoEncoderQosObserver observer)
 
int SetPreDecodeObserver (IPredecodeFrameObserver observer)
 
int EnableAudioVolumeIndication (bool enable, ulong interval, bool enableVad)
 
int StartScreenCaptureByScreenRect (RtcRectangle screenRect, RtcRectangle regionRect, RtcScreenCaptureParameters captureParams)
 
int StartScreenCaptureByDisplayId (ulong displayId, RtcRectangle regionRect, RtcScreenCaptureParameters captureParams)
 
int StartScreenCaptureByWindowId (IntPtr windowId, RtcRectangle regionRect, RtcScreenCaptureParameters captureParams)
 
int UpdateScreenCaptureRegion (RtcRectangle regionRect)
 
int SetScreenCaptureMouseCursor (bool captureCursor)
 
int StopScreenCapture ()
 
int PauseScreenCapture ()
 
int ResumeScreenCapture ()
 
int SetExcludeWindowList (IntPtr[] windowList)
 
int UpdateScreenCaptureParameters (RtcScreenCaptureParameters captureParams)
 
int SetExternalVideoSource (RtcVideoStreamType type, bool enabled)
 
int PushExternalVideoFrame (RtcVideoStreamType streamType, RtcExternalVideoFrame frame)
 
int PushExternalVideoEncodedFrame (RtcVideoStreamType streamType, RtcVideoEncodedFrame encodedFrame)
 
int SetExternalAudioSource (RtcAudioStreamType streamType, bool enabled, int sampleRate, int channels)
 
int PushExternalAudioFrame (RtcAudioStreamType streamType, RtcAudioFrame frame)
 
int PushExternalAudioEncodedFrame (RtcAudioStreamType streamType, ref RtcAudioEncodedFrame encodedFrame)
 
int SetExternalAudioRender (bool enabled, int sampleRate, int channels)
 
int PullExternalAudioFrame (byte[] data, int length)
 
string GetVersion ()
 
string GetErrorDescription (RtcErrorCode errorCode)
 
int UploadSdkInfo ()
 
int AddLiveStreamTask (RtcLiveStreamTaskInfo info)
 
int UpdateLiveStreamTask (RtcLiveStreamTaskInfo info)
 
int RemoveLiveStreamTask (string taskId)
 
int SendSEIMsg (byte[] data, RtcVideoStreamType type)
 
int SetLocalVideoWatermarkConfigs (bool enabled, RtcVideoStreamType type, RtcVideoWatermarkConfig config)
 
int TakeLocalSnapshot (RtcVideoStreamType streamType, RtcTakeSnapshotCallback callback)
 
int TakeRemoteSnapshot (ulong uid, RtcVideoStreamType streamType, RtcTakeSnapshotCallback callback)
 
int StartAudioRecording (string filePath, int sampleRate, RtcAudioRecordingQuality quality)
 
int StartAudioRecordingWithConfig (RtcAudioRecordingConfiguration config)
 
int StopAudioRecording ()
 
int AdjustRecordingSignalVolume (int volume)
 
int AdjustPlaybackSignalVolume (int volume)
 
int AdjustUserPlaybackSignalVolume (ulong uid, int volume)
 
int AdjustChannelPlaybackSignalVolume (uint volume)
 
int StartChannelMediaRelay (RtcChannelMediaRelayConfig config)
 
int UpdateChannelMediaRelay (RtcChannelMediaRelayConfig config)
 
int StopChannelMediaRelay ()
 
int SetLocalPublishFallbackOption (RtcStreamFallbackOption option)
 
int SetRemoteSubscribeFallbackOption (RtcStreamFallbackOption option)
 
int EnableSuperResolution (bool enable)
 
int EnableEncryption (bool enable, RtcEncryptionConfig config)
 
int StartLastmileProbeTest (RtcLastmileProbeConfig config)
 
int StopLastmileProbeTest ()
 
int SetRemoteHighPriorityAudioStream (bool enabled, ulong uid)
 
int CheckNECastAudioDriver ()
 
int EnableVideoCorrection (bool enable)
 
int SetVideoCorrectionConfig (RtcVideoCorrectionConfiguration? config)
 
int EnableVirtualBackground (bool enabled, RtcVirtualBackgroundSource backgroundSource)
 
int SetCloudProxy (RtcTransportType proxyType)
 
int EnableLocalData (bool enabled)
 
int SubscribeRemoteData (ulong uid, bool subscribe)
 
int SendData (byte[] data)
 
int StartBeauty (string filePath)
 
int StopBeauty ()
 
int EnableBeauty (bool enabled)
 
int EnableBeautyMirrorMode (bool enabled)
 
float GetBeautyEffect (RtcBeautyEffectType type)
 
int SetBeautyEffect (RtcBeautyEffectType type, float level)
 
int AddBeautyFilter (string filePath)
 
int RemoveBeautyFilter ()
 
int SetBeautyFilterLevel (float level)
 
int AddBeautySticker (string filePath)
 
int RemoveBeautySticker ()
 
int AddBeautyMakeup (string filePath)
 
int RemoveBeautyMakeup ()
 
int SetLocalVoiceReverbParam (RtcReverbParam param)
 
int EnableMediaPublish (bool enabled, RtcMediaPubType mediaType)
 
int UpdatePermissionKey (string key)
 
int ReportCustomEvent (string eventName, string customIdentify, string parameters)
 
int SetRangeAudioMode (RtcRangeAudioMode mode)
 
int SetRangeAudioTeamID (int teamID)
 
int SetAudioRecvRange (int audibleDistance, int conversationalDistance, RtcDistanceRolloffModel rollOff)
 
int UpdateSelfPosition (RtcPositionInfo info)
 
int EnableSpatializerRoomEffects (bool enable)
 
int SetSpatializerRoomProperty (RtcSpatializerRoomProperty roomProperty)
 
int SetSpatializerRenderMode (RtcSpatializerRenderMode mode)
 
int InitSpatializer ()
 
int EnableSpatializer (bool enable)
 
int GetMicrophoneMode (ref bool enabled)
 
int GetRecordingSignalVolume (ref int volume)
 
int GetPlaybackSignalVolume (ref int volume)
 
int CheckMicPermision (ref bool enabled)
 
int PauseAudio ()
 
int ResumeAudio ()
 
bool IsInChannel ()
 

静态 Public 成员函数

static IRtcEngine GetInstance ()
 

Public 属性

OnError OnError
 
OnWarning OnWarning
 
OnAPICallExecuted OnAPICallExecuted
 
OnJoinChannel OnJoinChannel
 
OnReconnectingStart OnReconnectingStart
 
OnConnectionStateChange OnConnectionStateChange
 
OnNetworkTypeChanged OnNetworkTypeChanged
 
OnRejoinChannel OnRejoinChannel
 
OnLeaveChannel OnLeaveChannel
 
OnDisconnect OnDisconnect
 
OnClientRoleChanged OnClientRoleChanged
 
OnUserJoined OnUserJoined
 
OnUserLeft OnUserLeft
 
OnUserAudioStart OnUserAudioStart
 
OnUserAudioStop OnUserAudioStop
 
OnUserVideoStart OnUserVideoStart
 
OnUserVideoStop OnUserVideoStop
 
OnScreenCaptureStatusChanged OnScreenCaptureStatusChanged
 
OnUserVideoProfileUpdate OnUserVideoProfileUpdate
 
OnUserAudioMute OnUserAudioMute
 
OnUserVideoMute OnUserVideoMute
 
OnAudioDeviceRoutingDidChange OnAudioDeviceRoutingDidChange
 
OnAudioDeviceStateChanged OnAudioDeviceStateChanged
 
OnAudioDefaultDeviceChanged OnAudioDefaultDeviceChanged
 
OnVideoDeviceStateChanged OnVideoDeviceStateChanged
 
OnCameraFocusChanged OnCameraFocusChanged
 
OnCameraExposureChanged OnCameraExposureChanged
 
OnFirstAudioDataReceived OnFirstAudioDataReceived
 
OnFirstVideoDataReceived OnFirstVideoDataReceived
 
OnRemoteVideoReceiveSizeChanged OnRemoteVideoReceiveSizeChanged
 
OnLocalVideoRenderSizeChanged OnLocalVideoRenderSizeChanged
 
OnFirstAudioFrameDecoded OnFirstAudioFrameDecoded
 
OnFirstVideoFrameDecoded OnFirstVideoFrameDecoded
 
OnCaptureVideoFrame OnCaptureVideoFrame
 
OnAudioMixingStateChanged OnAudioMixingStateChanged
 
OnAudioMixingTimestampUpdate OnAudioMixingTimestampUpdate
 
OnAudioEffectTimestampUpdate OnAudioEffectTimestampUpdate
 
OnAudioEffectFinished OnAudioEffectFinished
 
OnLocalAudioVolumeIndication OnLocalAudioVolumeIndication
 
OnRemoteAudioVolumeIndication OnRemoteAudioVolumeIndication
 
OnAddLiveStreamTask OnAddLiveStreamTask
 
OnUpdateLiveStreamTask OnUpdateLiveStreamTask
 
OnRemoveLiveStreamTask OnRemoveLiveStreamTask
 
OnLiveStreamStateChanged OnLiveStreamStateChanged
 
OnAudioHowling OnAudioHowling
 
OnRecvSEIMessage OnRecvSEIMessage
 
OnAudioRecording OnAudioRecording
 
OnMediaRelayStateChanged OnMediaRelayStateChanged
 
OnMediaRelayEvent OnMediaRelayEvent
 
OnPublishFallbackToAudioOnly OnPublishFallbackToAudioOnly
 
OnSubscribeFallbackToAudioOnly OnSubscribeFallbackToAudioOnly
 
OnLastmileQuality OnLastmileQuality
 
OnLastmileProbeResult OnLastmileProbeResult
 
OnMediaRightChanged OnMediaRightChanged
 
OnCheckNECastAudioDriverResult OnCheckNECastAudioDriverResult
 
OnVirtualBackgroundSourceEnabled OnVirtualBackgroundSourceEnabled
 
OnLocalVideoWatermarkState OnLocalVideoWatermarkState
 
OnPermissionKeyWillExpire OnPermissionKeyWillExpire
 
OnUpdatePermissionKey OnUpdatePermissionKey
 
OnUserDataReceiveMessage OnUserDataReceiveMessage
 
OnUserDataStart OnUserDataStart
 
OnUserDataStop OnUserDataStop
 
OnUserDataStateChanged OnUserDataStateChanged
 
OnUserDataBufferedAmountChanged OnUserDataBufferedAmountChanged
 

属性

IAudioDeviceManager AudioDeviceManager [get]
 
IVideoDeviceManager VideoDeviceManager [get]
 
IRtcVoiceEngine VoiceEngine [get]
 

详细描述

RtcEngine 类提供了供 App 调用的主要接口方法。

成员函数说明

◆ GetInstance()

static IRtcEngine nertc.IRtcEngine.GetInstance ( )
inlinestatic

获取 IRtcEngine 单例对象。 该方法在加入房间前后都能调用。

返回
IRtcEngine 对象。

◆ Initialize()

int nertc.IRtcEngine.Initialize ( RtcEngineContext param)
abstract

初始化 NERTC SDK 服务。
您必须先调用该方法进行初始化,才能使用其他方法。初始化成功后,默认处于音视频通话模式。

警告
  • 必须使用同一个 App Key 才能进行通话。
  • 一个 IRtcEngine 实例对象只能使用一个 App Key。如需更换 App Key,必须先调用 Release 方法销毁当前实例,再调用本方法重新创建实例。
参数
[in]param传入的 RtcEngineContext 对象.
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ Release()

void nertc.IRtcEngine.Release ( bool sync)
abstract

销毁 NERtc engine 实例,释放资源。
该方法释放 NERTC SDK 使用的所有资源。有些 App 只在用户需要时才进行实时音视频通信,不需要时则将资源释放出来用于其他操作,该方法适用于此类情况。
调用 Release 方法后,您将无法再使用 SDK 的其它方法和回调。

注解
如果需要重新使用 IRtcEngine ,需要再次调用初始化接口。
参数
[in]sync默认为 true 且只能设置为 true,表示同步调用,等待 IRtcEngine 对象资源释放后再返回。
App 不应该在 SDK 产生的回调中调用该接口,否则由于 SDK 要等待回调返回才能回收相关的对象资源,会造成死锁。SDK 会自动检测这种死锁并转为异步调用,但是检测本身会消耗额外的时间。

◆ SetClientRole()

int nertc.IRtcEngine.SetClientRole ( RtcClientRole role)
abstract

在直播场景中设置用户角色。
用户角色支持设置为主播或观众,主播和观众的权限不同。

  • 主播:可以开关摄像头等设备、可以发布流、可以操作互动直播推流相关接口、上下线对其他房间内用户可见。
  • 观众:不可以开关摄像头等设备、不可以发布流、不可以操作互动直播推流相关接口、上下线对其他房间内用户不可见。
    注解
  • 默认情况下用户以主播角色加入房间。
  • 在加入房间前,用户可以调用本接口切换本端角色为观众。在加入房间后,用户也可以通过本接口切换用户角色。
  • 用户切换为观众角色时,SDK 会自动关闭音视频设备。
    参数
    [in]role用户角色。#RtcClientRole
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetChannelProfile()

int nertc.IRtcEngine.SetChannelProfile ( RtcChannelProfileType profile)
abstract

设置房间场景。
房间场景可设置为通话或直播场景,不同的场景中 QoS 策略不同。

注解
必须在加入通话前设置,开始通话后设置无效,结束通话后保留之前的设置。
参数
[in]profile设置房间场景。详细信息请参考 RtcChannelProfileType
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ JoinChannel()

int nertc.IRtcEngine.JoinChannel ( string token,
string channelName,
ulong uid,
RtcJoinChannelOptions? channelOptions = null )
abstract

加入音视频房间。
加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。

  • SDK 加入房间后,同一个房间内的用户可以互相通话,多个用户加入同一个房间,可以群聊。使用不同 App Key 的 App 之间不能互通。
  • 成功调用该方加入房间后,本地会触发 OnJoinChannel 回调,远端会触发 OnUserJoined回调。 用户成功加入房间后,默认订阅房间内所有其他用户的音频流,可能会因此产生用量并影响计费。如果想取消自动订阅,可以在通话前通过调用 SetParameters 方法实现。
  • 直播场景中的观众角色可以通过 SwitchChannel 快速切换房间。
    注解
    房间内每个用户的用户 ID 必须是唯一的。
    参数
    [in]token安全认证签名(NERTC Token)。可设置为:
    • null。调试模式下可设置为。 null。安全性不高,建议在产品正式上线前在云信控制台中将鉴权方式恢复为默认的安全模式。
    • 已获取的 NERTC Token。安全模式下必须设置为获取到的 Token 。若未传入正确的 Token 将无法进入房间。推荐使用安全模式。
    [in]channelName房间名称,设置相同房间名称的用户会进入同一个通话房间。字符串格式,长度为 1~ 64 字节。支持以下 89 个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~”
    [in]uid用户的唯一标识 ID,房间内每个用户的 uid 必须是唯一的。
    uid 可选,默认为 0。如果不指定(即设为 0),SDK 会自动分配一个随机 uid,并在 OnJoinChannel 回调方法中返回,App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。
    [in]channelOptions加入房间时设置一些特定的房间参数,详情参考RtcJoinChannelOptions
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SwitchChannel()

int nertc.IRtcEngine.SwitchChannel ( string token,
string channelName,
RtcJoinChannelOptions? channelOptions = null )
abstract

快速切换音视频房间。
房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。
成功调用该方切换房间后,本端会先收到离开房间的回调 OnLeaveChannel ,再收到成功加入新房间的回调。 OnJoinChannel 。远端用户会收到 OnUserLeftOnUserJoined 的回调。

注解
  • 该方法仅适用于直播场景中,角色为观众的音视频房间成员。即已通过接口 SetChannelProfile 设置房间场景为直播,通过 SetClientRole 设置房间成员的角色为观众。
  • 房间成员成功切换房间后,默认订阅房间内所有其他成员的音频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的。 SubscribeRemoteAudioStream 方法传入 false 实现。
参数
[in]token安全认证签名(NERTC Token)。可设置为:
  • null。调试模式下可设置为 null。建议在产品正式上线前在云信控制台中将鉴权方式恢复为默认的安全模式。
  • 已获取的 NERTC Token。安全模式下必须设置为获取到的 Token 。若未传入正确的 Token 将无法进入房间。推荐使用安全模式。
[in]channelName期望切换到的目标房间名称。
[in]channelOptions加入房间时设置一些特定的房间参数,详情参考RtcJoinChannelOptions
返回
-0: 方法调用成功。 -其他:方法调用失败。

◆ LeaveChannel()

int nertc.IRtcEngine.LeaveChannel ( )
abstract

离开房间。
离开房间,即挂断或退出通话。
结束通话时,必须调用 leaveChannel 结束通话,否则无法开始下一次通话。
成功调用该方法离开房间后,本地会触发OnLeaveChannel回调,远端会触发OnUserLeft回调。

注解
  • 该方法是异步操作,调用返回时并没有真正退出房间。在真正退出房间后,SDK 会触发OnLeaveChannel回调。
  • 如果您调用了 leaveChannel 后立即调用 release,SDK 将无法触发OnLeaveChannel回调。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ EnableLocalAudio()

int nertc.IRtcEngine.EnableLocalAudio ( RtcAudioStreamType type,
bool enabled )
abstract

开启/关闭本地音频采集。
该方法可以重新开启本地语音功能,重新开始本地音频采集及处理。
该方法不影响接收或播放远端音频流。

注解
该方法与 MuteLocalAudioStream 的区别在于:
该方法设置内部引擎为启用状态,在 LeaveChannel 后仍然有效。
参数
[in]type音频通道类型。RtcAudioStreamType
[in]enabled
  • true: 重新开启本地语音功能,即开启本地语音采集或处理(默认)
  • false: 关闭本地语音功能,即停止本地语音采集或处理。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetupLocalVideoCanvas()

int nertc.IRtcEngine.SetupLocalVideoCanvas ( RtcVideoStreamType type,
RtcVideoCanvas canvas )
abstract

设置本地视图。
该方法设置本地视频显示信息。只影响本地用户看到的视频画面,不影响远端。
App 通过调用此接口绑定本地视频流的显示视窗(view)。在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。

注解
mac 端若使用外部渲染,必须在 SDK 初始化时设置。
参数
[in]type视频通道类型。RtcVideoStreamType
[in]canvas视频画布信息。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetupRemoteVideoCanvas()

int nertc.IRtcEngine.SetupRemoteVideoCanvas ( ulong uid,
RtcVideoStreamType type,
RtcVideoCanvas canvas )
abstract

设置远端用户视图。
该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

注解
  • 调用该接口时需要指定远端视频的 uid,一般可以在用户加入后设置好。
  • 如果 App 无法事先知道对方的用户 ID,可以在 App 收到 OnUserJoined 事件时设置。- 解除某个用户的绑定视图可以把 canvas 设置为空。
  • 退出房间后,SDK 会清除远程用户和视图的绑定关系。
参数
[in]uid远端用户 ID。
[in]type视频通道类型。RtcVideoStreamType
[in]canvas视频画布信息。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ EnableLocalVideo()

int nertc.IRtcEngine.EnableLocalVideo ( RtcVideoStreamType type,
bool enabled )
abstract

开启或关闭本地视频采集和渲染。
该方法启用本地视频采集功能。

注解
  • 该方法在加入房间前和加入房间后均可调用。
  • 该方法设置内部引擎为启用状态,在 LeaveChannel 后仍然有效。
  • 成功启用或禁用本地视频采集和渲染后,远端会触发 OnUserVideoStopOnUserVideoStart 回调。
参数
[in]type视频通道类型。RtcVideoStreamType
[in]enabled是否启用本地视频采集和渲染:
  • true: 开启本地视频采集和渲染 (默认)。
  • false: 关闭使用本地摄像头设备。关闭后,远端用户会接收不到本地用户的视频流。但本地用户依然可以接收远端用户的视频流。设置为。 false 时,该方法不需要本地有摄像头。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SubscribeRemoteVideoStream()

int nertc.IRtcEngine.SubscribeRemoteVideoStream ( ulong uid,
RtcVideoStreamType type,
RtcRemoteVideoStreamType streamType,
bool subscribe )
abstract

订阅或取消订阅指定远端用户的视频流。

  • 用户加入房间之后,默认不订阅远端用户的视频流,如果希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频流。
  • 该方法需要在加入房间后调用。
    参数
    [in]uid指定用户的用户 ID。
    [in]type指定视频通道类型. RtcVideoStreamType
    [in]streamType订阅的视频流类型。#RtcRemoteVideoStreamType
    [in]subscribe
  • true: (默认)订阅指定视频流。
  • false: 不订阅指定视频流。
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SwitchCamera() [1/2]

int nertc.IRtcEngine.SwitchCamera ( )
abstract

切换前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
返回
操作返回值,成功则返回 0。

◆ SwitchCamera() [2/2]

int nertc.IRtcEngine.SwitchCamera ( RtcCameraPosition position)
abstract

指定前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 StartPreview 或 JoinChannel 后。

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
自从
V4.6.10
参数
position摄像头类型。详细信息请参考 RtcCameraPosition。该参数为必填参数,若未赋值,SDK 会报错。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ GetCurrentCamera()

int nertc.IRtcEngine.GetCurrentCamera ( ref RtcCameraPosition position)
abstract

查看当前摄像头配置。

  • 该方法用于查看当前使用的摄像头为前置摄像头还是后置摄像头。
  • 该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。(仅 Android 有效)
    自从
    V4.5.0
    参数
    position摄像头类型。详细信息请参考 RtcCameraPosition
    返回
  • 0:后置摄像头。
  • 其他值:前置摄像头。

◆ CreateChannel()

IRtcChannel nertc.IRtcEngine.CreateChannel ( string channelName)
abstract

创建一个 IRtcChannel 对象。

参数
[in]channelName房间名。设置相同房间名称的用户会进入同一个通话房间。字符串格式,长度为 1~ 64 字节。支持以下 89 个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~”
返回
返回 IRtcChannel 对象。
  • null: 方法调用失败。

◆ GetChannel()

IRtcChannel nertc.IRtcEngine.GetChannel ( string channelName)
abstract

获取一个 IRtcChannel 对象。

参数
[in]channelName房间名。设置相同房间名称的用户会进入同一个通话房间。字符串格式,长度为 1~ 64 字节。支持以下 89 个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~”
返回
返回 IRtcChannel 对象。
  • null: 方法调用失败。

◆ GetConnectionState()

RtcConnectionStateType nertc.IRtcEngine.GetConnectionState ( )
abstract

获取当前网络状态。

返回
当前网络状态。#RtcConnectionStateType .

◆ MuteLocalAudioStream()

int nertc.IRtcEngine.MuteLocalAudioStream ( RtcAudioStreamType type,
bool mute )
abstract

开关本地音频发送。该方法用于允许或禁止向网络发送本地音频流。

注解
  • 该方法不影响录音状态,因为并没有禁用录音设备。
  • 静音状态会在通话结束后被重置为非静音。
参数
[in]type音频通道类型。RtcAudioStreamType
[in]mute静音/取消静音:
  • true: 静音本地音频。
  • false: 取消静音本地音频(默认)
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioProfile()

int nertc.IRtcEngine.SetAudioProfile ( RtcAudioProfileType profile,
RtcAudioScenarioType scenario )
abstract

设置音频编码属性。

注解
参数
[in]profile设置采样率,码率,编码模式和声道数:#RtcAudioProfileType 。
[in]scenario设置音频应用场景:#RtcAudioScenarioType 。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioEffectPreset()

int nertc.IRtcEngine.SetAudioEffectPreset ( RtcVoiceChangerType type)
abstract

设置 SDK 预设的人声的变声音效。 设置变声音效可以将人声原因调整为多种特殊效果,改变声音特性。

注解
  • 此方法在加入房间前后都能调用,通话结束后重置为默认关闭状态。
  • 此方法和 SetLocalVoicePitch 互斥,调用此方法后,本地语音语调会恢复为默认值 1.0。
参数
[in]type预设的变声音效。默认关闭变声音效。详细信息请参考 RtcVoiceChangerType
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetVoiceBeautifierPreset()

int nertc.IRtcEngine.SetVoiceBeautifierPreset ( RtcVoiceBeautifierType type)
abstract

设置 SDK 预设的美声效果。 调用该方法可以为本地发流用户设置 SDK 预设的人声美声效果。

注解
通话结束后重置为默认关闭。
参数
[in]type预设的美声效果模式。默认关闭美声效果。详细信息请参考 RtcVoiceBeautifierType
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetLocalVoicePitch()

int nertc.IRtcEngine.SetLocalVoicePitch ( double pitch)
abstract

设置本地语音音调。 该方法改变本地说话人声音的音调。

注解
  • 通话结束后该设置会重置,默认为 1.0。
  • 此方法与 SetAudioEffectPreset 互斥,调用此方法后,已设置的变声效果会被取消。
参数
[in]pitch语音频率。可以在 [0.5, 2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetLocalVoiceEqualization()

int nertc.IRtcEngine.SetLocalVoiceEqualization ( RtcVoiceEqualizationBand bandFrequency,
int bandGain )
abstract

设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。

注解
该方法在加入房间前后都能调用,通话结束后重置为默认关闭状态。
参数
[in]bandFrequency频谱子带索引,取值范围是 [0-9],分别代表 10 个频带,对应的中心频率是。 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。
[in]bandGain每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SubscribeRemoteAudioStream()

int nertc.IRtcEngine.SubscribeRemoteAudioStream ( RtcAudioStreamType type,
ulong uid,
bool subscribe )
abstract

取消或恢复订阅指定远端用户音频流。
加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频流。

调用时机
该方法仅在加入房间后收到远端用户开启音频主流的回调 OnUserAudioStart 后可调用。
注解
当 kNERtcKeyAutoSubscribeAudio 默认打开时,用户不能手动修改音频订阅状态。
参数
[in]type音频流类型:kNERtcAudioStreamTypeMain 主流音频,kNERtcAudioStreamTypeSub 辅流音频。
[in]uid指定用户的 ID。
[in]subscribe是否订阅远端用户音频流。
  • true: 订阅指定音频流(默认)。
  • false: 取消订阅指定音频流。
返回
  • 0: 方法调用成功。
  • 30005: 状态异常,可能是自动订阅打开,导致该接口无效。
  • 其他:方法调用失败。

◆ SubscribeAllRemoteAudioStream()

int nertc.IRtcEngine.SubscribeAllRemoteAudioStream ( bool subscribe)
abstract

取消或恢复订阅所有远端用户音频流。适用于重要会议需要一键全体静音的场景。

注解
  • 加入房间时,默认订阅所有远端用户的音频,此时请勿调用 SubscribeAllRemoteAudioStream 重复订阅所有远端用户的音频流。
  • 请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。
  • 调用本方法订阅或取消订阅所有远端用户音频流,对后续加入房间的用户同样生效。
  • 若调用本方法取消订阅所有远端用户的音频流(subscribe 参数设置为 false),此时无法再调用 SubscribeRemoteAudioStream 方法单独订阅指定远端用户的音频流。
自从
V4.5.0
参数
subscribe是否订阅所有远端用户的音频流。
  • true: 订阅所有远端用户的音频流(默认)。
  • false: 取消所有远端用户的音频流。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioSubscribeOnlyBy()

int nertc.IRtcEngine.SetAudioSubscribeOnlyBy ( ulong[] uids)
abstract

设置自己的音频只能被房间内指定的人订阅。
默认房间所有其他人都可以订阅自己的音频。

注解
  • 此接口需要在加入房间成功后调用。
  • 对于调用接口时不在房间的 uid 不生效。
自从
V4.6.10
参数
[in]uids可订阅自己音频的用户 uid 列表。
注解
此列表为全量列表。如果列表为空或 null,表示其他所有人均可订阅自己的音频。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ SetSubscribeAudioAllowList()

int nertc.IRtcEngine.SetSubscribeAudioAllowList ( ulong[] uids)
abstract

您可以调用该方法指定只订阅的音频流。

注解
  • 此接口需要在加入房间成功后调用。
  • 对于调用接口时不在房间的 uid 不生效。
自从
V5.4.101
参数
[in]uids只订阅此 用户 uid 列表 的音频。
注解
此列表为全量列表。如果列表为空或 null,取消订阅白名单。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ SetSubscribeAudioBlockList()

int nertc.IRtcEngine.SetSubscribeAudioBlockList ( ulong[] uids)
abstract

您可以调用该方法指定不订阅的音频流。

注解
  • 此接口需要在加入房间成功后调用。
  • 对于调用接口时不在房间的 uid 不生效。
自从
V5.4.101
参数
[in]uids不订阅此 用户 uid 列表 的音频。
注解
此列表为全量列表。如果列表为空或 null,取消订阅黑名单。。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ SetStreamAlignmentProperty()

int nertc.IRtcEngine.SetStreamAlignmentProperty ( bool enable)
abstract

开启精准对齐。 通过此接口可以实现精准对齐功能,对齐本地系统与服务端的时间。

自从
V4.6.10
调用时机
请在引擎初始化之后调用此接口,且该方法仅可在加入房间前调用。
业务场景
适用于 KTV 实时合唱的场景。
参数说明
参数名称 类型 说明
enable bool 是否开启精准对齐功能:
  • true:开启精准对齐功能。
  • false:关闭精准对齐功能。
示例代码
_rtcEngine?.SetStreamAlignmentProperty(true);
定义 RtcEngine.cs:20
static IRtcEngine GetInstance()
定义 RtcEngine.cs:109
int SetStreamAlignmentProperty(bool enable)
相关接口
可以调用 GetNtpTimeOffset 方法获取本地系统时间与服务端时间的差值。
返回
无返回值。

◆ GetNtpTimeOffset()

long nertc.IRtcEngine.GetNtpTimeOffset ( )
abstract

获取本地系统时间与服务端时间差值。
可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。

自从
V4.6.10
返回
本地与服务端时间差值,单位为毫秒(ms)。如果没有成功加入音视频房间,返回 0。

◆ SetAudioSessionOperationRestriction()

int nertc.IRtcEngine.SetAudioSessionOperationRestriction ( RtcAudioSessionOperationRestriction restriction)
abstract

设置 SDK 对 Audio Session 的控制权限。
该方法仅适用于 iOS 平台。
该方法限制 SDK 对 Audio Session 的操作权限。在默认情况下,SDK 和 App 对 Audio Session 都有控制权,但某些场景下,App 会希望限制 SDK 对 Audio Session 的控制权限,而使用其他应用或第三方组件对 Audio Session 进行操控。调用该方法可以实现该功能。
该接口只能在入会之前调用。

注解
一旦调用该方法限制了 SDK 对 Audio Session 的控制权限, SDK 将无法对 Audio Session。 进行相关设置,而需要用户自己或第三方组件进行维护。
参数
restrictionSDK 对 Audio Session 的控制权限。详细信息请参考 RtcAudioSessionOperationRestriction
返回
操作返回值,成功则返回 0。

◆ SetAudioFocusMode()

int nertc.IRtcEngine.SetAudioFocusMode ( RtcAudioFocusMode focusMode)
abstract

设置音频焦点模式。
该方法仅适用于 Android 平台。

参数
focusMode音频焦点模式 RtcAudioFocusMode.
返回
操作返回值,成功则返回 0。

◆ SetPlayoutDeviceMute()

int nertc.IRtcEngine.SetPlayoutDeviceMute ( bool muted)
abstract

设置是否静音音频播放设备。

参数
muted是否静音播放设备。默认为不静音状态。
返回
操作返回值,成功则返回 0。

◆ GetPlayoutDeviceMute()

int nertc.IRtcEngine.GetPlayoutDeviceMute ( ref bool muted)
abstract

获取音频播放设备的静音状态。

参数
muted是否静音。
返回
操作返回值,成功则返回 0。

◆ SetRecordDeviceMute()

int nertc.IRtcEngine.SetRecordDeviceMute ( bool muted)
abstract

设置是否静音音频采集设备。

参数
muted是否静音音频采集设备。默认为不静音。
返回
操作返回值,成功则返回 0。

◆ GetRecordDeviceMute()

int nertc.IRtcEngine.GetRecordDeviceMute ( ref bool muted)
abstract

查询当前音频采集设备是否静音。

参数
muted是否静音。
返回
操作返回值,成功则返回 0。

◆ IsCameraZoomSupported()

bool nertc.IRtcEngine.IsCameraZoomSupported ( )
abstract

检测设备当前使用的摄像头是否支持缩放功能。
该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
返回
YES 表示支持,NO 表示支持。

◆ IsCameraTorchSupported()

bool nertc.IRtcEngine.IsCameraTorchSupported ( )
abstract

检测设备是否支持闪光灯常亮。

注解
  • 一般情况下,App 默认开启前置摄像头,因此如果设备前置摄像头不支持闪光灯,直接使用该方法会返回。 NO。如果需要检查后置摄像头是否支持闪光灯,需要先使用 SwitchCamera 切换摄像头,再使用该方法。
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
返回
YES 表示支持,NO 表示不支持。

◆ IsCameraFocusSupported()

bool nertc.IRtcEngine.IsCameraFocusSupported ( )
abstract

检测设备是否支持手动对焦功能。

注解
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
返回
YES 表示支持,NO 表示不支持。

◆ IsCameraExposurePositionSupported()

bool nertc.IRtcEngine.IsCameraExposurePositionSupported ( )
abstract

检测设备是否支持手动曝光功能。

注解
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
返回
YES 表示支持,NO 表示不支持。

◆ SetCameraExposurePosition()

int nertc.IRtcEngine.SetCameraExposurePosition ( float pointX,
float pointY )
abstract

设置当前摄像头手动曝光位置。
成功调用该方法后,本地会触发 OnCameraExposureChanged 回调。

注解
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
pointX曝光位置点 X 坐标。
pointY曝光位置点 Y 坐标。
返回
操作返回值,成功则返回 0。

◆ SetCameraTorchOn()

int nertc.IRtcEngine.SetCameraTorchOn ( bool on)
abstract

设置是否打开闪光灯。

注解
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
onYES 表示开启。NO 表示关闭。
返回
操作返回值,成功则返回 0。

◆ IsCameraTorchOn()

bool nertc.IRtcEngine.IsCameraTorchOn ( )
abstract

查询设备是否开启了闪光灯。

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
返回
YES 表示开启。NO 表示关闭。

◆ SetCameraZoomFactor()

int nertc.IRtcEngine.SetCameraZoomFactor ( float factor)
abstract

设置当前摄像头缩放比例。

注解
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 建议在调用本接口前,先通过 MaxCameraZoomScale 查看摄像头支持的最大缩放比例,并根据实际需求合理设置需要的缩放比例。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
factor摄像头缩放比例。
返回
操作返回值,成功则返回 0。

◆ GetCameraCurrentZoom()

float nertc.IRtcEngine.GetCameraCurrentZoom ( )
abstract

获取当前摄像头缩放比例。

返回
当前缩放比例。

◆ MaxCameraZoomScale()

float nertc.IRtcEngine.MaxCameraZoomScale ( )
abstract

获取摄像头支持最大缩放比例。

注解
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
返回
最大缩放比例。

◆ SetCameraFocusPosition()

int nertc.IRtcEngine.SetCameraFocusPosition ( float x,
float y )
abstract

设置手动对焦位置。
成功调用该方法后,本地会触发 OnCameraFocusChanged 回调。

注解
  • 该方法需要在相机启动后调用,例如调用 StartVideoPreviewJoinChannel 后。
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
x触摸点相对于视图的横坐标,范围为 0~1。
y触摸点相对于视图的纵坐标,范围为 0~1。
返回
操作返回值,成功则返回 0。

◆ SetCameraCaptureConfig()

int nertc.IRtcEngine.SetCameraCaptureConfig ( RtcVideoStreamType type,
RtcCameraCaptureConfig config )
abstract

设置本地摄像头的视频主流或辅流采集配置。
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。

自从
V4.6.20
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
业务场景
在视频通话或直播中,SDK 自动控制摄像头的输出参数。默认情况下,SDK 会根据用户该接口的配置匹配最合适的分辨率进行采集。但是在部分业务场景中,如果采集画面质量无法满足实际需求,可以调用该接口调整摄像头的采集配置。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往 云信官网下载并替换成视频 SDK。
  • 调用该接口设置成功后,会自动重启摄像头采集模块。
参数说明
参数名称 类型 说明
type RtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamMain:主流。
  • kNERtcVideoStreamSub:辅流。
captureConfig RtcCameraCaptureConfig 本地摄像头采集配置。
示例代码
//设置本地摄像头主流采集配置。
RtcVideoStreamType type = RtcVideoStreamType.kNERTCVideoStreamMain;
var config = new RtcCameraCaptureConfig();
config.captureWidth = 1920; // 编码分辨率的宽。
config.captureHeight = 1080; // 编码分辨率的高。
_rtcEngine?.SetCameraCaptureConfig(type, config);
//设置本地摄像头辅流采集配置。
RtcVideoStreamType type = RtcVideoStreamType.kNERTCVideoStreamSub;
var config = new RtcCameraCaptureConfig();
config.captureWidth = 1920; // 编码分辨率的宽。
config.captureHeight = 1080; // 编码分辨率的高。
_rtcEngine?.SetCameraCaptureConfig(type, config);
RtcVideoStreamType
定义 RtcBase.cs:6698
定义 RtcBase.cs:3066
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。

◆ SetVideoConfig()

int nertc.IRtcEngine.SetVideoConfig ( RtcVideoStreamType type,
RtcVideoConfig config )
abstract

设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考设置视频属性

自从
V4.6.20
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 每个属性对应一套视频参数,例如分辨率、帧率、码率等。所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
  • 此接口为全量参数配置接口,重复调用此接口时,SDK 会刷新此前的所有参数配置,以最新的传参为准。所以每次修改配置时都需要设置所有参数,未设置的参数将取默认值。
参数说明
参数名称 类型 说明
type RtcVideoStreamType 视频通道类型:
  • kNERTCVideoStreamMain:主流。
  • kNERTCVideoStreamSub:辅流。
config RtcVideoConfig 视频编码属性配置。
示例代码
var config = new RtcVideoConfig();
config.width = 1920; // 编码分辨率的宽。
config.height = 1080; // 编码分辨率的高。
config.mirrorMode = RtcVideoMirrorMode.kNERtcVideoMirrorModeAuto; // 视频镜像模式。
config.orientationMode = RtcVideoOrientationMode.kNERtcVideoOutputOrientationModeAdaptative; // 视频旋转的方向模式。
config.maxProfile = RtcVideoProfileType.kNERtcVideoProfileHD1080P; // 视频编码配置。
config.cropMode_ = RtcVideoCropMode.kNERtcVideoCropModeDefault;//裁剪模式。
config.bitrate = 0; // 视频编码的码率。
config.minBitrate = 0;//视频编码的最小码率。
config.framerate = RtcVideoFramerateType.kNERtcVideoFramerateFps30; // 视频编码的帧率。
config.minFramerate = 2;// 视频编码的最小帧率。
config.degradationPreference = RtcDegradationPreference.kNERtcDegradationDefault;// 带宽受限时的视频编码降级偏好。
_rtcEngine?.SetVideoConfig(RtcVideoStreamType.kNERTCVideoStreamMain, config);
RtcVideoCropMode
定义 RtcBase.cs:4892
RtcVideoMirrorMode
定义 RtcBase.cs:3651
RtcDegradationPreference
定义 RtcBase.cs:5015
RtcVideoOrientationMode
定义 RtcBase.cs:3691
RtcVideoFramerateType
定义 RtcBase.cs:4940
RtcVideoProfileType
定义 RtcBase.cs:3136
定义 RtcBase.cs:5071
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30005(kNERtcErrInvalidState):引擎尚未初始化。
    • 30300:Transiver 未找到。

◆ EnableDualStreamMode()

int nertc.IRtcEngine.EnableDualStreamMode ( bool enable)
abstract

设置是否开启视频大小流模式。
该方法设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。

注解
  • 该方法只对摄像头数据生效,自定义输入、屏幕共享等视频流无效。
  • 该方法在加入房间前后都能调用。设置后,会在摄像头重启后生效。
参数
[in]enable指定是否开启双流模式。
  • true: (默认)开启双流模式。
  • false: 关闭双流模式。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetLocalRenderMode()

int nertc.IRtcEngine.SetLocalRenderMode ( RtcVideoStreamType type,
RtcVideoScalingMode scalingMode )
abstract

设置本地视图显示模式。 该方法设置本地视图显示模式。App 可以多次调用此方法更改显示模式。

注解
在打开屏幕共享前必须通过 SetupLocalVideoCanvas 设置本地辅流画布。
参数
[in]type视频通道类型。RtcVideoStreamType
[in]scalingMode视频显示模式:#RtcVideoScalingMode
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetLocalVideoMirrorMode()

int nertc.IRtcEngine.SetLocalVideoMirrorMode ( RtcVideoStreamType type,
RtcVideoMirrorMode mirrorMode )
abstract

设置本地视频镜像模式。 该方法用于设置本地视频是否开启镜像模式,即画面是否左右翻转。 本地的视频镜像模式仅影响本地用户所见,不影响远端用户所见。App 可以多次调用此方法更改镜像模式。

参数
[in]type视频通道类型。RtcVideoStreamType
[in]mirrorMode视频镜像模式。详细信息请参考 RtcVideoMirrorMode
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetRemoteRenderMode()

int nertc.IRtcEngine.SetRemoteRenderMode ( ulong uid,
RtcVideoStreamType type,
RtcVideoScalingMode scalingMode )
abstract

设置远端视图显示模式。 该方法设置远端视图显示模式。App 可以多次调用此方法更改显示模式。

参数
[in]uid远端用户 ID。
[in]type视频通道类型。RtcVideoStreamType
[in]scalingMode视频显示模式:RtcVideoScalingMode
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartVideoPreview()

int nertc.IRtcEngine.StartVideoPreview ( RtcVideoStreamType type)
abstract

开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。

自从
V4.6.20
使用前提
请在通过 SetupLocalVideoCanvas 接口设置视频画布后调用该方法。
调用时机
请在初始化后调用该方法,且该方法仅可当不在房间内时可调用。
业务场景
适用于加入房间前检查设备状态是否可用、预览视频效果等场景。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 在加入房间前预览视频效果时设置的美颜、虚拟背景等视频效果在房间内仍然生效。在房间内设置的视频效果在退出房间后预览视频时也可生效。
参数说明
参数名称 类型 说明
type RtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamMain:主流。
  • kNERtcVideoStreamSub:辅流。
示例代码
//开启主流视频通道预览。
RtcVideoStreamType type = RtcVideoStreamType.kNERTCVideoStreamMain;
_rtcEngine?.StartVideoPreview(type);
//开启辅流视频通道预览。
RtcVideoStreamType type = RtcVideoStreamType.kNERTCVideoStreamSub;
_rtcEngine?.StartVideoPreview(type);
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30004(kNERtcErrNotSupported):不支持的操作,比如已经加入房间。
    • 30010(kNERtcErrInvalidVideoProfile):设置的视频 profile 无效。
    • 30011(kNERtcErrCreateDeviceSourceFail):设备创建失败。
    • 30012(kNERtcErrInvalidRender):未设置渲染画布。
    • 30013(kNERtcErrDevicePreviewAlreadyStarted): 所选设备已经启用预览。

◆ StopVideoPreview()

int nertc.IRtcEngine.StopVideoPreview ( RtcVideoStreamType type)
abstract

停止视频预览。
通过本接口可以实现在预览本地视频后关闭预览。

自从
V4.6.20
使用前提
建议在通过 StartVideoPreview 接口开启视频预览后调用该方法。
调用时机
请在初始化后调用该方法,且该方法仅可当不在房间内时可调用。
注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数说明
参数名称 类型 说明
type RtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamMain:主流。
  • kNERtcVideoStreamSub:辅流。
示例代码
//关闭主流视频通道预览。
RtcVideoStreamType type = RtcVideoStreamType.kNERTCVideoStreamMain;
_rtcEngine?.StopVideoPreview(type);
//关闭辅流视频通道预览。
RtcVideoStreamType type = RtcVideoStreamType.NERtcVideoStreamType::kNERTCVideoStreamSub;
_rtcEngine?.StopVideoPreview(type);
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30001(kNERtcErrFatal):通用错误,比如引擎未初始化或者使用的是纯音频 SDK。
    • 30003(kNERtcErrInvalidParam):参数错误,比如因预览的设备被拔出,无法获取到对应的设备 ID。
    • 30004(kNERtcErrNotSupported):不支持的操作,比如已经加入房间。

◆ MuteLocalVideoStream()

int nertc.IRtcEngine.MuteLocalVideoStream ( RtcVideoStreamType type,
bool mute )
abstract

取消或恢复发布本地视频流。
成功调用该方法后,远端会触发 OnUserVideoMute 回调。

注解
  • 调用该方法禁视频流时,SDK 不再发送本地视频流,但摄像头仍然处于工作状态。
  • 该方法在加入房间前后均可调用。
  • 若调用该方法取消发布本地视频流,通话结束后会被重置为默认状态,即默认发布本地视频流。
  • 该方法与 EnableLocalVideo (false) 的区别在于, EnableLocalVideo (false) 会关闭本地摄像头设备,MuteLocalVideoStream 不影响本地视频流采集,不禁用摄像头,且响应速度更快。
参数
[in]type视频通道类型。RtcVideoStreamType
[in]mute
  • true: 不发送本地视频流。
  • false: 发送本地视频流(默认)
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetLocalMediaPriority()

int nertc.IRtcEngine.SetLocalMediaPriority ( int priority,
bool isPreemptive )
abstract

设置本地用户的媒体流优先级。
如果某个用户的优先级为高,那么该用户媒体流的优先级就会高于其他用户,弱网环境下 SDK 会优先保证其他用户收到的、高优先级用户的媒体流的质量。

注解
  • 请在加入房间(JoinChannel)前调用此方法。
  • 快速切换房间 ( SwitchChannel ) 后,媒体优先级会恢复为默认值,即普通优先级。
  • 一个音视频房间中只有一个高优先级的用户。建议房间中只有一位用户调用 SetLocalMediaPriority 将本端媒体流设为高优先级,否则需要开启抢占模式,保证本地用户的高优先级设置生效。
参数
priority本地用户的媒体流优先级,默认为 kNERtcMediaPriorityNormal 。详细信息请参考 RtcMediaPriorityType
isPreemptive是否开启抢占模式。默认为 false,即不开启。
  • 抢占模式开启后,本地用户可以抢占其他用户的高优先级,被抢占的用户的媒体优先级变为普通优先级,在抢占者退出房间后,其他用户的优先级仍旧维持普通优先级。
  • 抢占模式关闭时,如果房间中已有高优先级用户,则本地用户的高优先级设置不生效,仍旧为普通优先级。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetParameters()

int nertc.IRtcEngine.SetParameters ( string parameters)
abstract

设置音视频通话的相关参数。通过 JSON 配置 SDK 提供技术预览或特别定制功能。以标准化方式公开 JSON 选项。

参数
[in]parameters音视频通话的相关参数。JSON 字符串形式。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetRecordingAudioFrameParameters()

int nertc.IRtcEngine.SetRecordingAudioFrameParameters ( RtcAudioFrameRequestFormat format)
abstract

设置录制的声音格式。
该方法设置 OnAudioFrameDidRecord 回调的录制声音格式。

注解
  • 该方法在加入房间前后均可设置或修改。
  • 取消监听,重置为空。
参数
format指定 OnAudioFrameDidRecord 中返回数据的采样率和数据的通道数。允许传入 NULL,默认为 NULL。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetPlaybackAudioFrameParameters()

int nertc.IRtcEngine.SetPlaybackAudioFrameParameters ( RtcAudioFrameRequestFormat format)
abstract

设置播放的声音格式。
该方法设置 OnAudioFrameWillPlayback 回调的播放声音格式。

注解
  • 该方法在加入房间前后均可设置或修改。
  • 取消监听,重置为空。
参数
format指定 OnAudioFrameWillPlayback 中返回数据的采样率和数据的通道数。允许传入 NULL,默认为 NULL。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetMixedAudioFrameParameters()

int nertc.IRtcEngine.SetMixedAudioFrameParameters ( int sampleRate)
abstract

设置录制和播放声音混音后的采样率。
该方法设置 OnMixedAudioFrame 回调的声音格式。

注解
  • 该方法在加入房间前后均可设置或修改。
  • 目前只支持设置采样率。
  • 未调用该接口设置数据格式时,回调中的采样率返回 SDK 默认值。
参数
sampleRate指定 OnMixedAudioFrame 中返回数据的采样率。仅支持 8000, 16000, 32000, 44100 或 48000。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioFrameObserver()

int nertc.IRtcEngine.SetAudioFrameObserver ( IAudioFrameObserver observer)
abstract

注册语音观测器对象。
该方法用于设置音频采集和播放 PCM 回调,可用于声音处理等操作。当需要引擎给出 OnAudioFrameDidRecordOnAudioFrameWillPlayback 回调时,需要使用该方法注册回调。

参数
observer接口对象实例。如果传入 NULL,则取消注册,同时会清理 RtcAudioFrameRequestFormat 相关设置。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartAudioDump()

int nertc.IRtcEngine.StartAudioDump ( RtcAudioDumpType type)
abstract

开始记录音频 dump。音频 dump 可用于分析音频问题。

参数
type音频 dump 类型。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StopAudioDump()

int nertc.IRtcEngine.StopAudioDump ( )
abstract

结束音频 dump。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetLoudSpeakerMode()

int nertc.IRtcEngine.SetLoudSpeakerMode ( bool enable)
abstract

设置音频播放扬声器模式(仅 iOS/Android 有效)

参数
enable是否使用扬声器模式。
返回
操作返回值,成功则返回 0。

◆ GetLoudSpeakerMode()

int nertc.IRtcEngine.GetLoudSpeakerMode ( ref bool enabled)
abstract

获取目前是否使用扬声器模式(仅 iOS/Android 有效)

参数
enabled是否正在使用扬声器模式。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartAudioMixing()

int nertc.IRtcEngine.StartAudioMixing ( RtcCreateAudioMixingOption option)
abstract

开始播放音乐文件。
该方法指定本地或在线音频文件来和录音设备采集的音频流进行混音。

  • 支持的音乐文件类型包括 MP3、M4A、AAC、3GP、WMA 和 WAV 格式,支持本地文件或在线 URL。
  • 成功调用该方法后,如果播放状态改变,本地会触发 OnAudioMixingStateChanged 回调。
    注解
  • 请在加入房间后调用该方法。
  • 从 V4.3.0 版本开始, 若您在通话中途调用此接口播放音乐文件时,手动设置了伴音播放音量或发送音量,则当前通话中再次调用时默认沿用此设置。
  • 在 V4.4.0 版本中,开启或关闭本地音频采集的操作不影响音乐文件在远端的播放,即 EnableLocalAudio (false) 后仍旧可以发送伴音。在其他版本中,必须开启音频采集才能发送伴音。
    参数
    [in]option创建混音任务配置的选项,包括混音任务类型、混音文件全路径或 URL 等。详细信息请参考 RtcCreateAudioMixingOption
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StopAudioMixing()

int nertc.IRtcEngine.StopAudioMixing ( )
abstract

停止播放音乐文件及混音。
该方法停止播放伴奏。请在房间内调用该方法。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PauseAudioMixing()

int nertc.IRtcEngine.PauseAudioMixing ( )
abstract

暂停播放音乐文件及混音。
该方法暂停播放伴奏。请在房间内调用该方法。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ ResumeAudioMixing()

int nertc.IRtcEngine.ResumeAudioMixing ( )
abstract

恢复播放伴奏。
该方法恢复混音,继续播放伴奏。请在房间内调用该方法。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioMixingSendVolume()

int nertc.IRtcEngine.SetAudioMixingSendVolume ( uint volume)
abstract

调节伴奏发送音量。
该方法调节混音里伴奏的发送音量大小。请在房间内调用该方法。

参数
[in]volume伴奏发送音量。取值范围为 0~100。默认 100 为原始文件音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ GetAudioMixingSendVolume()

int nertc.IRtcEngine.GetAudioMixingSendVolume ( ref uint volume)
abstract

获取伴奏发送音量。
该方法获取混音里伴奏的发送音量大小。请在房间内调用该方法。

参数
[out]volume伴奏发送音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioMixingPlaybackVolume()

int nertc.IRtcEngine.SetAudioMixingPlaybackVolume ( uint volume)
abstract

调节伴奏播放音量。
该方法调节混音里伴奏的播放音量大小。请在房间内调用该方法。

参数
[in]volume伴奏音量范围为 0~100。默认 100 为原始文件音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ GetAudioMixingPlaybackVolume()

int nertc.IRtcEngine.GetAudioMixingPlaybackVolume ( ref uint volume)
abstract

获取伴奏播放音量。
该方法获取混音里伴奏的播放音量大小。请在房间内调用该方法。

参数
[out]volume伴奏播放音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ GetAudioMixingDuration()

int nertc.IRtcEngine.GetAudioMixingDuration ( ref ulong duration)
abstract

获取伴奏时长。
该方法获取伴奏时长,单位为毫秒。请在房间内调用该方法。

参数
[out]duration伴奏时长,单位为毫秒。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ GetAudioMixingCurrentPosition()

int nertc.IRtcEngine.GetAudioMixingCurrentPosition ( ref ulong position)
abstract

获取音乐文件的播放进度。
该方法获取当前伴奏播放进度,单位为毫秒。请在房间内调用该方法。

参数
[out]position伴奏播放进度,单位为毫秒。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioMixingPosition()

int nertc.IRtcEngine.SetAudioMixingPosition ( ulong seekPosition)
abstract

设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样您可以根据实际情况播放文件,而非从头到尾播放整个文件。

参数
[in]seekPosition进度条位置,单位为毫秒。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetAudioMixingPitch()

int nertc.IRtcEngine.SetAudioMixingPitch ( int pitch)
abstract

设置当前伴音文件的音调。

  • 通过此接口可以实现当本地人声和播放的音乐文件混音时,仅调节音乐文件的音调。
    自从
    V4.6.29
    使用前提
    请先调用 StartAudioMixing 方法开启伴音。
    调用时机
    请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
    业务场景
    适用于 K 歌中为了匹配人声,调节背景音乐音高的场景。
    注解
    当前伴音任务结束后,此接口的设置会恢复至默认。
    参数说明
    参数名称 类型 说明
    pitch int 当前伴音文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。
    示例代码
    int pitch = 0;
    _rtcEngine?.SetAudioMixingPitch(pitch);
    int SetAudioMixingPitch(int pitch)
    相关接口
    可以调用 GetAudioMixingPitch 方法获取伴音文件的音调。
    返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30003(kNERtcErrInvalidParam):参数有误,比如 pitch 超出范围。
    • 30005(kNERtcErrInvalidState):当前状态不支持的操作,比如找不到对应的伴音任务或引擎尚未初始化。
    • 30101(kNERtcErrChannelNotJoined):尚未加入房间。

◆ GetAudioMixingPitch()

int nertc.IRtcEngine.GetAudioMixingPitch ( ref int pitch)
abstract

获取当前伴音文件的音调。

自从
V4.6.29
使用前提
请先调用 StartAudioMixing 方法开启伴音。
调用时机
请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
参数说明
参数名称 类型 说明
pitch int 当前伴音文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。
示例代码
int pitch = 0;
_rtcEngine?.GetAudioMixingPitch(ref pitch);
int GetAudioMixingPitch(ref int pitch)
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30005(kNERtcErrInvalidState):当前状态不支持的操作,比如找不到对应的伴音任务或引擎尚未初始化。
    • 30101(kNERtcErrChannelNotJoined):尚未加入房间。

◆ PlayEffect()

int nertc.IRtcEngine.PlayEffect ( uint effectId,
RtcCreateAudioEffectOption option )
abstract

播放指定音效文件。

  • 成功调用该方法后,如果播放结束,本地会触发 OnAudioEffectFinished 回调。
  • 支持的音效文件类型包括 MP3、M4A、AAC、3GP、WMA 和 WAV 格式,支持本地文件和在线 URL。
    注解
  • 请在加入房间后调用该方法。
  • 您可以多次调用该方法,通过传入不同的音效文件的 effectId 和 option ,同时播放多个音效文件,实现音效叠加。为获得最佳用户体验,建议同时播放的音效文件不超过 3 个。
    参数
    [in]effectId指定音效的 ID。每个音效均有唯一的 ID。
    [in]option创建音效任务配置的选项,包括混音任务类型、混音文件全路径或 URL 等。详细说明请参考 RtcCreateAudioEffectOption
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StopEffect()

int nertc.IRtcEngine.StopEffect ( uint effectId)
abstract

停止播放指定音效文件。
请在房间内调用该方法。

参数
[in]effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StopAllEffects()

int nertc.IRtcEngine.StopAllEffects ( )
abstract

停止播放所有音效文件。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PauseEffect()

int nertc.IRtcEngine.PauseEffect ( uint effectId)
abstract

暂停音效文件播放。
请在房间内调用该方法。

参数
[in]effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ ResumeEffect()

int nertc.IRtcEngine.ResumeEffect ( uint effectId)
abstract

恢复播放指定音效文件。
请在房间内调用该方法。

参数
[in]effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PauseAllEffects()

int nertc.IRtcEngine.PauseAllEffects ( )
abstract

暂停所有音效文件播放。
请在房间内调用该方法。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ ResumeAllEffects()

int nertc.IRtcEngine.ResumeAllEffects ( )
abstract

恢复播放所有音效文件。
请在房间内调用该方法。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetEffectSendVolume()

int nertc.IRtcEngine.SetEffectSendVolume ( uint effectId,
uint volume )
abstract

调节音效发送音量。 该方法调节音效的发送音量大小。请在房间内调用该方法。

参数
[in]effectId指定音效的 ID。每个音效均有唯一的 ID。
[in]volume音效音量范围为 0~100。默认 100 为原始文件音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ GetEffectSendVolume()

int nertc.IRtcEngine.GetEffectSendVolume ( uint effectId,
ref uint volume )
abstract

获取音效发送音量。 该方法获取音效的发送音量大小。请在房间内调用该方法。

参数
[in]effectId指定音效的 ID。每个音效均有唯一的 ID。
[out]volume音效发送音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetEffectPlaybackVolume()

int nertc.IRtcEngine.SetEffectPlaybackVolume ( uint effectId,
uint volume )
abstract

设置音效文件播放音量。 请在加入房间后调用该方法。

参数
[in]effectId指定音效的 ID。每个音效均有唯一的 ID。
[in]volume音效播放音量。范围为 0~100,默认为 100。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ GetEffectPlaybackVolume()

int nertc.IRtcEngine.GetEffectPlaybackVolume ( uint effectId,
ref uint volume )
abstract

获取音效文件播放音量。
请在加入房间后调用该方法。

参数
[in]effectId指定音效的 ID。每个音效均有唯一的 ID。
[out]volume音效播放音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetEffectPitch()

int nertc.IRtcEngine.SetEffectPitch ( uint effectId,
int pitch )
abstract

设置指定音效文件的音调。

  • 通过此接口可以实现当本地人声和播放的音乐文件混音时,仅调节音乐文件的音调。
    自从
    V4.6.29
    使用前提
    请先调用 PlayEffect 方法播放音效。
    调用时机
    请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
    业务场景
    适用于 K 歌中为了匹配人声,调节背景音乐音高的场景。
    注解
    当前音效任务结束后,此接口的设置会恢复至默认。
    参数说明
    参数名称 类型 说明
    effectId uint 指定音效文件的 ID。每个音效文件均对应唯一的 ID。
    pitch int 指定音效文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。
    示例代码
    uint effectId = 7788;
    int pitch = 0;
    _rtcEngine?.SetEffectPitch(effectId, pitch);
    int SetEffectPitch(uint effectId, int pitch)
    相关接口
    可以调用 GetEffectPitch 方法获取指定音效文件的音调。
    返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30003(kNERtcErrInvalidParam):参数有误,比如 pitch 超出范围。
    • 30005(kNERtcErrInvalidState):当前状态不支持的操作,比如找不到对应的音效任务或引擎尚未初始化。
    • 30101(kNERtcErrChannelNotJoined):尚未加入房间。

◆ GetEffectPitch()

int nertc.IRtcEngine.GetEffectPitch ( uint effectId,
ref int pitch )
abstract

获取指定音效文件的音调。

自从
V4.6.29
使用前提
请先调用 PlayEffect 方法播放音效。
调用时机
请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
参数说明
参数名称 类型 说明
effectId uint 指定音效文件的 ID。每个音效文件均对应唯一的 ID。
pitch int 指定音效文件的音调。默认值为 0,即不调整音调,取值范围为 -12 ~ 12,按半音音阶调整。每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。
示例代码
uint effectId = 7788;
int pitch = 0;
_rtcEngine?.GetEffectPitch(effectId, ref pitch);
int GetEffectPitch(uint effectId, ref int pitch)
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30005(kNERtcErrInvalidState):当前状态不支持的操作,比如找不到对应的音效任务或引擎尚未初始化。
    • 30101(kNERtcErrChannelNotJoined):尚未加入房间。

◆ SetEffectPosition()

int nertc.IRtcEngine.SetEffectPosition ( uint effectId,
ulong timestamp )
abstract

设置指定音效文件的播放位置。

  • 通过此接口可以实现根据实际情况播放音效文件,而非从头到尾播放整个文件。
    自从
    V4.6.29
    使用前提
    请先调用 PlayEffect 方法播放音效。
    调用时机
    请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
    参数说明
    参数名称 类型 说明
    effectId uint 指定音效文件的 ID。每个音效文件均对应唯一的 ID。
    timestamp ulong 指定音效文件的起始播放位置。单位为毫秒。
    示例代码
    uint32_t effectId = 7788;
    uint64_t timestamp = 0;
    _rtcEngine?.SetEffectPosition(effectId, timestamp);
    相关接口
  • GetEffectCurrentPosition:获取指定音效文件的当前播放位置。
  • OnAudioEffectTimestampUpdate:注册此回调实时获取指定音效文件的当前播放进度,默认为每隔 1s 返回一次。
    返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30001(kNERtcErrFatal):接口操作失败或未找到对应的音效任务。
    • 30003(kNERtcErrInvalidParam):参数错误,比如 effect_id 不正确。
    • 30101(kNERtcErrChannelNotJoined):尚未加入房间。

◆ GetEffectCurrentPosition()

int nertc.IRtcEngine.GetEffectCurrentPosition ( uint effectId,
ref ulong timestamp )
abstract

获取指定音效文件的播放进度。

自从
V4.6.29
使用前提
请先调用 PlayEffect 方法播放音效。
调用时机
请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
参数说明
参数名称 类型 说明
effectId uint 指定音效文件的 ID。每个音效文件均对应唯一的 ID。
timestamp ulong 指定音效文件的当前播放位置。单位为毫秒。
示例代码
uint32 effectId = 7788;
int32_t timestamp = 0;
_rtcEngine?.GetEffectCurrentPosition(effectId, timestamp);
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30001(kNERtcErrFatal):接口操作失败或未找到对应的音效任务。
    • 30003(kNERtcErrInvalidParam):参数错误,比如 effect_id 不正确。
    • 30101(kNERtcErrChannelNotJoined):尚未加入房间。

◆ GetEffectDuration()

int nertc.IRtcEngine.GetEffectDuration ( uint effectId,
ref ulong duration )
abstract

获取指定音效文件的时长。

自从
V4.6.29
使用前提
请先调用 PlayEffect 方法播放音效。
调用时机
请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
参数说明
参数名称 类型 说明
effectId uint 指定音效文件的 ID。每个音效文件均对应唯一的 ID。
duration ulong 指定音效文件的时长。单位为毫秒。
示例代码
uint effectId = 7788;
ulong duration = 0;
_rtcEngine?.GetEffectDuration(effectId, duration);
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30001(kNERtcErrFatal):接口操作失败或未找到对应的音效任务。
    • 30003(kNERtcErrInvalidParam):参数错误,比如 effect_id 不正确。
    • 30101(kNERtcErrChannelNotJoined):尚未加入房间。

◆ EnableEarback()

int nertc.IRtcEngine.EnableEarback ( bool enabled,
uint volume )
abstract

开启或关闭耳返。

注解
  • 请在房间内调用该方法。
  • 开启耳返功能后,必须连接上耳机或耳麦,才能正常使用耳返功能。建议通过 OnAudioDeviceStateChangedOnAudioDefaultDeviceChanged 监听播放设备的变化,当监听到播放设备切换为耳机时才开启耳返。
参数
[in]enabled开启或关闭。
[in]volume耳返音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetEarbackVolume()

int nertc.IRtcEngine.SetEarbackVolume ( uint volume)
abstract

设置耳返音量。 请在房间内调用该方法。

参数
[in]volume耳返音量。可设置为 0~100,默认为 100。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ EnableLoopbackRecording()

int nertc.IRtcEngine.EnableLoopbackRecording ( bool enabled,
string deviceName )
abstract

开启或关闭声卡采集。

自从
V4.4.0 启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。
注解
  • 该方法仅适用于 macOS 和 Windows 平台。
  • macOS 系统默认声卡不支持采集功能,如需开启此功能需要 App 自己启用一个虚拟声卡,并将该虚拟声卡的名字作为 deviceName 传入。 SDK。网易云信建议使用 Soundflower 作为虚拟声卡,以获得更好的音频效果。
  • 该方法在加入房间前后都能调用。
参数
[in]enabled是否开启声卡采集功能。
  • true: 开启声卡采集。
  • false: (默认)关闭声卡采集。
[in]deviceName声卡的设备名。默认设为 NULL,即使用当前声卡采集。
该参数仅适用于 macOS 平台。
如果用户使用虚拟声卡,如 “Soundflower”,可以将虚拟声卡名称 “Soundflower” 作为参数,SDK 会找到对应的虚拟声卡设备,并开始采集。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ AdjustLoopbackRecordingSignalVolume()

int nertc.IRtcEngine.AdjustLoopbackRecordingSignalVolume ( uint volume)
abstract

调节声卡采集信号音量。

自从
V4.4.0 调用 EnableLoopbackRecording 开启声卡采集后,您可以调用该方法调节声卡采集的信号音量。
参数
[in]volume声卡采集信号音量。取值范围为 [0,100]。默认值为 100,表示原始音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetStatsObserver()

int nertc.IRtcEngine.SetStatsObserver ( IMediaStatsObserver observer)
abstract

注册统计信息观测器。

参数
[in]observer统计信息观测器。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetVideoEncoderQosObserver()

int nertc.IRtcEngine.SetVideoEncoderQosObserver ( IVideoEncoderQosObserver observer)
abstract

注册视频编码 QoS 信息监听器。

◆ SetPreDecodeObserver()

int nertc.IRtcEngine.SetPreDecodeObserver ( IPredecodeFrameObserver observer)
abstract

注册解码前媒体数据观测器。

  • 通过此接口可以设置 OnFrame 回调监听,返回相关解码前媒体数据。
    自从
    V4.6.29
    使用前提
    若您需要接收未解码的视频数据,建议先调用 SetParameters 接口关闭 SDK 的视频解码功能。
    调用时机
    请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。
    业务场景
    适用于需要自行处理音、视频数据的解码与渲染的场景。
    注解
    目前仅支持传输 OPUS 格式的音频数据和 H.264 格式的视频数据。
    参数说明
    参数名称 类型 说明
    observer IPredecodeFrameObserver 接口对象实例。可以传 NULL 表示取消注册。
    示例代码
    _rtcEngine?.SetPreDecodeObserver(observer); //observer 为观测器实例地址。
    int SetPreDecodeObserver(IPredecodeFrameObserver observer)
    相关回调
    OnFrame:返回相关解码前媒体数据,包括用户的 UID、媒体数据类型、数据长度等。
    返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。

◆ EnableAudioVolumeIndication()

int nertc.IRtcEngine.EnableAudioVolumeIndication ( bool enable,
ulong interval,
bool enableVad )
abstract

启用说话者音量提示。
该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。
启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发OnRemoteAudioVolumeIndication回调。

参数
enable是否启用说话者音量提示。
interval指定音量提示的时间间隔,单位为毫秒。必须设置为 100 毫秒的整数倍值。
enableVad是否启用本地采集人声监测。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartScreenCaptureByScreenRect()

int nertc.IRtcEngine.StartScreenCaptureByScreenRect ( RtcRectangle screenRect,
RtcRectangle regionRect,
RtcScreenCaptureParameters captureParams )
abstract

开启屏幕共享,共享范围为指定屏幕的指定区域。
调用该方法时,可以选择共享整个虚拟屏、指定屏幕,或虚拟屏、整个屏幕的某些区域范围。
此方法调用成功后,远端触发 OnUserVideoStartSetExcludeWindowList 回调。

注解
参数
screenRect指定待共享的屏幕相对于虚拟屏的位置。
regionRect指定待共享区域相对于整个屏幕屏幕的位置。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容。如果将 width 或 height 设为 0, 则共享整个屏幕。
captureParams屏幕共享的编码参数配置。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartScreenCaptureByDisplayId()

int nertc.IRtcEngine.StartScreenCaptureByDisplayId ( ulong displayId,
RtcRectangle regionRect,
RtcScreenCaptureParameters captureParams )
abstract

通过指定屏幕 ID 开启屏幕共享,屏幕共享内容以辅流形式发送。
此方法调用成功后,远端触发 OnUserVideoStart 回调。

注解
参数
displayId指定待共享的屏幕 ID。开发者需要自行实现枚举屏幕 ID 的方法,并通过该参数指定需要共享的屏幕。
regionRect指定待共享的区域相对于整个窗口的位置。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容。如果宽或高为。 0,则共享整个窗口。
captureParams屏幕共享的参数配置,包括码率、帧率、编码策略、屏蔽窗口列表等。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartScreenCaptureByWindowId()

int nertc.IRtcEngine.StartScreenCaptureByWindowId ( IntPtr windowId,
RtcRectangle regionRect,
RtcScreenCaptureParameters captureParams )
abstract

通过指定窗口 ID 开启屏幕共享,屏幕共享内容以辅流形式发送。
调用该方法时需要指定待共享的屏幕 ID,共享该屏幕的整体画面或指定区域。
此方法调用成功后:

  • Windows 平台远端触发 OnUserVideoStopOnScreenCaptureStatusChanged 回调。
  • macOS 平台远端触发 OnUserVideoStop 回调。
    注解
  • 该方法适用于 Windows 和 macOS。
  • 该方法需要在加入房间后调用。
    参数
    windowId指定待共享的窗口 ID。
    regionRect指定待共享的区域相对于整个窗口的位置。如果设置的共享区域超出了窗口的边界,则只共享指定区域中窗口内的内容。如果宽或高为。 0,则共享整个窗口。
    captureParams屏幕共享的参数配置,包括码率、帧率、编码策略、屏蔽窗口列表等。
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ UpdateScreenCaptureRegion()

int nertc.IRtcEngine.UpdateScreenCaptureRegion ( RtcRectangle regionRect)
abstract

在共享屏幕或窗口时,更新共享的区域。
在 Windows 平台中,远端会触发 OnScreenCaptureStatusChanged 回调。

参数
regionRect指定待共享的区域相对于整个窗口或屏幕的位置。如果设置的共享区域超出了边界,则只共享指定区域中,窗口或屏幕内的内容。如果宽或高为。 0,则共享整个窗口或屏幕。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetScreenCaptureMouseCursor()

int nertc.IRtcEngine.SetScreenCaptureMouseCursor ( bool captureCursor)
abstract

在共享屏幕或窗口时,更新是否显示鼠标。

自从
V4.6.10
参数
captureCursor屏幕共享时是否捕捉鼠标光标。
  • true:共享屏幕时显示鼠标。
  • false:共享屏幕时不显示鼠标。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StopScreenCapture()

int nertc.IRtcEngine.StopScreenCapture ( )
abstract

停止屏幕共享。
此方法调用成功后:

◆ PauseScreenCapture()

int nertc.IRtcEngine.PauseScreenCapture ( )
abstract

暂停屏幕共享。

  • 暂停屏幕共享后,共享区域内会持续显示暂停前的最后一帧画面,直至通过 ResumeScreenCapture 恢复屏幕共享。
  • 在 Windows 平台中,远端会触发 OnScreenCaptureStatusChanged 回调。
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ ResumeScreenCapture()

int nertc.IRtcEngine.ResumeScreenCapture ( )
abstract

恢复屏幕共享。
在 Windows 平台中,远端会触发 OnScreenCaptureStatusChanged 回调。

返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SetExcludeWindowList()

int nertc.IRtcEngine.SetExcludeWindowList ( IntPtr[] windowList)
abstract

设置共享整个屏幕或屏幕指定区域时,需要屏蔽的窗口列表。
开启屏幕共享时,可以通过 RtcScreenCaptureParameters 设置需要屏蔽的窗口列表。在 Windows 平台中,开发者可以在开启屏幕共享后,通过此方法动态调整需要屏蔽的窗口列表。被屏蔽的窗口不会显示在屏幕共享区域中。

注解
  • 在 Windows 平台中,该接口在屏幕共享过程中可动态调用。在 macOS 平台中,该接口需要在开启屏幕共享之前,即 StartScreenCaptureByDisplayId 之前调用。
  • 在 Windows 平台中,某些窗口在被屏蔽之后,如果被置于图层最上层,此窗口图像可能会黑屏。此时会触发。 onScreenCaptureStatus 中 kNERtcScreenCaptureStatusCovered 回调,建议应用层在触发此回调时提醒用户将待分享的窗口置于最上层。
自从
V4.2.0
参数
windowList需要屏蔽的窗口 ID 列表。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ UpdateScreenCaptureParameters()

int nertc.IRtcEngine.UpdateScreenCaptureParameters ( RtcScreenCaptureParameters captureParams)
abstract

更新屏幕共享参数。
开始共享屏幕或窗口后,动态更新采集帧率,目标码率,编码分辨率等屏幕共享相关参数。

自从
V4.6.20
调用时机
请在加入房间并成功开启屏幕共享后调用该方法。
注解
  • 调用该方法会重新启动屏幕共享,因此建议不要频繁调用。
  • 可以通过该方法动态设置是否捕捉鼠标(capture_mouse_cursor)和设置排除窗口(excluded_window_list,excluded_window_count),同时这两项设置也可以通过 SetScreenCaptureMouseCursorSetExcludeWindowList 方法实现。
参数说明
参数名称 类型 说明
captureParams RtcScreenCaptureParameters 屏幕共享编码参数配置。
示例代码
//调用该方法时,需要维护一个 RtcScreenCaptureParameters captureParams 变量记录当前设置。更新设置的时候:
var captureParams = new RtcScreenCaptureParameters();
captureParams.field1 = new_value1;
captureParams.field2 = new_value2;
...
UpdateScreenCaptureParameters(captureParams);
定义 RtcBase.cs:5476
相关回调
成功调用该方法后,会触发 OnScreenCaptureStatusChanged 回调。
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30005(kErrorErrInvalidState):多房间状态错误。
    • 30021(kNERtcErrDesktopCaptureInvalidParam):传入的参数无效。
    • 30101(kNERtcErrChannelNotJoined):未加入房间。

◆ SetExternalVideoSource()

int nertc.IRtcEngine.SetExternalVideoSource ( RtcVideoStreamType type,
bool enabled )
abstract

开启或关闭外部视频源数据输入。
通过该方法启用外部视频数据输入功能时,需要通过 SetDevice 设置 kNERtcExternalVideoDeviceID 为外部视频输入源 ID。

注解
该方法设置内部引擎为启用状态,在 LeaveChannel 后仍然有效。
参数
[in]type视频通道类型:
[in]enabled是否外部视频源数据输入:
  • true: 开启外部视频源数据输入。
  • false: 关闭外部视频源数据输入 (默认)。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PushExternalVideoFrame()

int nertc.IRtcEngine.PushExternalVideoFrame ( RtcVideoStreamType streamType,
RtcExternalVideoFrame frame )
abstract

推送辅流的外部视频帧。
该方法主动将视频帧数据用 RtcExternalVideoFrame 类封装后传递给 SDK。请确保在您调用本方法前已调用 SetExternalVideoSource ,并将参数设为 true,否则调用本方法后会一直报错。

注解
该方法设置内部引擎为启用状态,在 LeaveChannel 后不再有效。
参数
[in]streamType视频通道类型:
[in]frame视频帧数据。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PushExternalVideoEncodedFrame()

int nertc.IRtcEngine.PushExternalVideoEncodedFrame ( RtcVideoStreamType streamType,
RtcVideoEncodedFrame encodedFrame )
abstract

推送外部视频编码帧。

  • 通过此接口可以实现通过主流或辅流视频通道推送外部视频编码后的数据。
    自从
    V4.6.29
    使用前提
    该方法仅在设置 SetExternalVideoSource 接口的 enable 参数为 true 后调用有效。
    调用时机
    请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
    业务场景
    适用于需要自行处理视频数据的采集与编码的场景。
    注解
  • 目前仅支持传输 H.264 格式的视频数据。
  • 该方法设置内部引擎为启用状态,在 LeaveChannel 后设置会重置为默认状态。
  • 建议先调用 EnableDualStreamMode} 方法关闭视频大小流功能,否则远端可能无法正常接收下行流。
  • 建议不要同时调用 PushExternalVideoFrame 方法。
  • 外部视频源数据的输入通道、本地视频采集通道与外部视频编码帧数据的推送通道必须同为主流或者辅流通道,否则 SDK 会报错。
    参数说明
    参数名称 类型 说明
    encodedFrame RtcVideoEncodedFrame 编码后的视频帧数据。
    streamType RtcVideoStreamType 视频通道类型:
    • kNERTCVideoStreamMain:主流。
    • kNERTCVideoStreamSub:辅流。
    示例代码
    streamType = RtcVideoStreamType.kNERTCVideoStreamMain; //设置流类型。
    var frame = new RtcVideoEncodedFrame();
    frame.codecType = RtcVideoCodecType.kNERtcVideoCodecTypeH264; // H264 类型,参考 RtcVideoCodecType。
    frame.frameType = RtcNalFrameType.kNERtcNalFrameTypeIDR; // IDR 帧,参考 RtcNalFrameType。
    frame.nalLengths = nalLens; // 每个 nal 对应的长度数组。
    frame.nalData = data; // nal 数据。
    frame.timestamp = TimeMicros(); // 机器时间,us
    frame.width = width; // 视频宽。
    frame.height = height; // 视频高。
    auto ret = _rtcEngine?.PushExternalVideoEncodedFrame(streamType,frame);
    if (ret != nertc::kNERtcNoError) {
    // 错误处理。
    }
    定义 RtcBase.cs:6302
    RtcVideoCodecType
    定义 RtcBase.cs:6242
    RtcNalFrameType
    定义 RtcBase.cs:6263
    相关接口
    可以调用 SetVideoEncoderQosObserver 接口设置视频编码 QoS 信息监听器,通过回调的数据信息调整编码策略。
    返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 11403(kNERtcErrInvalid):无效操作,比如未开启外部视频输入。
    • 30003(kNERtcErrInvalidParam):参数错误,比如传入对象为空。
    • 30005(kNERtcErrInvalidState):状态错误,比如引擎未初始化或视频未开启。

◆ SetExternalAudioSource()

int nertc.IRtcEngine.SetExternalAudioSource ( RtcAudioStreamType streamType,
bool enabled,
int sampleRate,
int channels )
abstract

开启或关闭外部音频源数据输入。
当该方法调用成功后,音频输入设备选择和异常重启会失效。调用成功后可以使用 PushExternalAudioFrame 接口发送音频 PCM 数据。

注解
  • 请在加入房间前调用该方法。
  • 该方法设置内部引擎为启用状态,启动时将用虚拟设备代替麦克风工作,在 LeaveChannel 后仍然有效。如果需要关闭该功能,需要在下次通话前调用接口关闭外部音频数据输入功能。
  • 启用外部音频数据输入功能后,SDK 内部实现部分麦克风由外部输入数据代替,麦克风相关的设置会失败或不在通话中生效。例如进行 loopback 检测时,会听到输入的外部数据。
参数
[in]streamType音频流类型
[in]enabled是否外部数据输入:
  • true: 开启外部数据输入。
  • false: 关闭外部数据输入 (默认)。
[in]sampleRate数据采样率,后续数据传入需要按该格式传入。 注意:调用接口关闭功能时可传入任意合法值,此时设置不会生效。
[in]channels数据声道数,后续数据传入需要按该格式传入。注意:调用接口关闭功能时可传入任意合法值,此时设置不会生效。 可设置为:
  • 1:单声道。 2:双声道。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PushExternalAudioFrame()

int nertc.IRtcEngine.PushExternalAudioFrame ( RtcAudioStreamType streamType,
RtcAudioFrame frame )
abstract

推送外部音频数据输入。
将外部音频数据帧推送给内部引擎。通过 IRtcEngine.SetExternalAudioSource 启用外部音频数据输入功能成功后,可以使用 IRtcEngine.PushExternalAudioFrame 接口发送音频 PCM 数据。

注解
  • 该方法需要在加入房间后调用。
  • 数据帧时长建议匹配 10ms 周期。
  • 外部输入数据帧,数据时长和调用周期时长一致。
  • 该方法在音频输入设备关闭后不再生效。例如关闭本地音频、通话结束、通话前麦克风设备测试关闭等情况下,该设置不再生效。
参数
[in]streamType音频流类型。
[in]frame帧数据,数据长度不能超过 7680:
  • 外部输入数据帧,数据时长和调用周期时长一致。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PushExternalAudioEncodedFrame()

int nertc.IRtcEngine.PushExternalAudioEncodedFrame ( RtcAudioStreamType streamType,
ref RtcAudioEncodedFrame encodedFrame )
abstract

推送外部音频主流编码帧。

  • 通过此接口可以实现通过主流音频通道推送外部音频编码后的数据。
    自从
    V4.6.29
    使用前提
    该方法仅在设置 SetExternalAudioSource 接口的 enabled 参数为 true 后调用有效。
    调用时机
    请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
    业务场景
    适用于需要自行处理音频数据的采集与编码的场景。
    注解
  • 目前仅支持传输 OPUS 格式的音频数据。
  • 建议不要同时调用 PushExternalAudioFrame 方法。
  • 该方法在音频输入设备关闭后,例如在关闭本地音频、通话结束、通话前麦克风设备测试关闭等情况下,设置会恢复至默认。
    参数说明
    参数名称 类型 说明
    streamType RtcAudioStreamType 音频流通道类型。
    encodedFrame RtcAudioEncodedFrame 编码后的音频帧数据。
    示例代码
    int timediff = 20; // opus need 20ms
    uint64_t encoded_audio_ts = 0;
    var audioFrame = new RtcAudioEncodedFrame();
    audioFrame.sampleRate = sample_rate; //采样率。
    audioFrame.channels = channels; // 声道数。
    audioFrame.samplesPerChannel = sample_rate / 1000 * timediff; //每声道采样数。
    audioFrame.payloadType = nertc::kNERtcAudioPayloadTypeOPUS; // OPUS, 参考 NERtcAudioPayloadType
    audioFrame.encodedLen = len; // 编码后数据长度。
    audioFrame.data = data; // 编码后数据。
    audioFrame.timestamp = TimeMicros(); // 机器时间,us
    audioFrame.encodedTimestamp = encoded_audio_ts; // 编码时间, 单位为样本数。
    encoded_audio_ts += audioFrame.samplesPerChannel;
    int ret = _rtcEngine?.pushExternalAudioEncodedFrame(&audioFrame);
    if (ret != (int)RtcErrorType.kNERtcNoError) {
    // 错误处理。
    }
    定义 RtcBase.cs:5863
    返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30001(kNERtcErrFatal):未开启外部音频输入。
    • 30003(kNERtcErrInvalidParam):参数错误,比如传入对象为空。
    • 30005(kNERtcErrInvalidState):状态错误,比如尚未加入房间或未开启本地音频。

◆ SetExternalAudioRender()

int nertc.IRtcEngine.SetExternalAudioRender ( bool enabled,
int sampleRate,
int channels )
abstract

设置外部音频渲染。
该方法适用于需要自行渲染音频的场景。默认为关闭状态。当该方法调用成功后,音频播放设备选择和异常重启失效。 调用成功后可以使用 PullExternalAudioFrame 接口获取音频 PCM 数据。

注解
  • 请在加入房间前调用该方法。
  • 该方法设置内部引擎为启用状态,启动时将用虚拟设备代替扬声器工作,在 LeaveChannel 后仍然有效。如果需要关闭该功能,需要在下次通话前调用接口关闭外部音频数据渲染功能。
  • 启用外部音频渲染功能后,SDK 内部实现部分扬声器由外部输入数据代替,扬声器相关的设置会失败或不在通话中生效。例如进行 loopback 检测时,需要由外部渲染播放。
参数
[in]enabled是否外部数据输出:
  • true: 开启外部数据渲染。
  • false: 关闭外部数据渲染 (默认)。
[in]sampleRate数据采样率,后续数据按该格式返回。 注意:调用接口关闭功能时可传入任意合法值,此时设置不会生效。
[in]channels数据声道数,后续数据按该格式返回。 注意:调用接口关闭功能时可传入任意合法值,此时设置不会生效。 可设置为:
  • 1:单声道。
  • 2:双声道。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ PullExternalAudioFrame()

int nertc.IRtcEngine.PullExternalAudioFrame ( byte[] data,
int length )
abstract

拉取外部音频数据。
该方法将从内部引擎拉取音频数据。通过 SetExternalAudioRender 启用外部音频数据渲染功能成功后,可以使用 PullExternalAudioFrame 接口获取音频 PCM 数据。

注解
  • 该方法需要在加入房间后调用。
  • 数据帧时长建议匹配 10ms 周期。
  • 该方法在音频渲染设备关闭后不再生效,此时会返回空数据。例如通话结束、通话前扬声器设备测试关闭等情况下,该设置不再生效。
参数
[out]data数据指针,SDK 内部会将数据拷贝到 data 中。
[in]length待拉取音频数据的字节数,单位为 byte。
  • 建议音频数据的时长至少为 10 毫秒,数据长度不能超过 7680 字节。
  • 计算公式为: len = sampleRate/1000 × 2 × channels × 音频数据时长(毫秒)。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ GetVersion()

string nertc.IRtcEngine.GetVersion ( )
abstract

查询 SDK 版本号。 该方法在加入房间前后都能调用。

返回
当前的 SDK 版本号,格式为字符串,如 1.0.0.

◆ GetErrorDescription()

string nertc.IRtcEngine.GetErrorDescription ( RtcErrorCode errorCode)
abstract

查看指定错误码的错误信息。

注解
目前该方法无效,只返回空值。请在 OnError 中查看返回的错误码及具体的错误信息。
参数
[in]errorCodeRtcErrorCode
返回
详细错误码描述。

◆ UploadSdkInfo()

int nertc.IRtcEngine.UploadSdkInfo ( )
abstract

上传 SDK 信息。
只能在加入房间后调用。
上传的信息包括 log 和 Audio dump 等文件。

返回
void

◆ AddLiveStreamTask()

int nertc.IRtcEngine.AddLiveStreamTask ( RtcLiveStreamTaskInfo info)
abstract

添加房间推流任务,成功添加后当前用户可以收到该直播流的状态通知。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。
  • 该方法每次只能增加一路旁路推流地址。如需推送多路流,则需多次调用该方法。同一个音视频房间( 即同一个 channel id )可以创建 3 个不同的推流任务。
  • 成功添加推流任务后,当前用户会收到该直播流的相关状态通知。
参数
[in]info直播任务信息。详细信息请参考 RtcLiveStreamTaskInfo
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ UpdateLiveStreamTask()

int nertc.IRtcEngine.UpdateLiveStreamTask ( RtcLiveStreamTaskInfo info)
abstract

更新修改房间推流任务。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。
参数
[in]info直播任务信息。详细信息请参考 RtcLiveStreamTaskInfo
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ RemoveLiveStreamTask()

int nertc.IRtcEngine.RemoveLiveStreamTask ( string taskId)
abstract

删除房间推流任务。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。
  • 通话结束,房间成员全部离开房间后,推流任务会自动删除。如果房间内还有用户存在,则需要创建推流任务的用户删除推流任务。
参数
[in]taskId直播任务 ID。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SendSEIMsg()

int nertc.IRtcEngine.SendSEIMsg ( byte[] data,
RtcVideoStreamType type )
abstract

发送媒体补充增强信息(SEI)。
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 OnRecvSEIMessage 的回调获取 SEI 内容。

  • 调用时机:视频流(主流)开启后,可调用此函数。
  • 数据长度限制: SEI 最大数据长度为 4096 字节,超限会发送失败。如果频繁发送大量数据会导致视频码率增大,可能会导致视频画质下降甚至卡顿。
  • 发送频率限制:最高为视频发送的帧率,建议不超过 10 次/秒。
  • 生效时间:调用本接口之后,最快在下一帧视频数据帧之后发送 SEI 数据,最慢在接下来的 5 帧视频之后发送。
    注解
  • SEI 数据跟随视频帧发送,由于在弱网环境下可能丢帧,SEI 数据也可能随之丢失,所以建议在发送频率限制之内多次发送,保证接收端收到的概率。
  • 调用本接口时,默认使用主流通道发送 SEI。
    参数
    data自定义 SEI 数据。自定义数据最大长度不能超过 4096 字节。
    type发送 SEI 时,使用的流通道类型。详细信息请参考 RtcVideoStreamType
    返回
    操作返回值,成功则返回 0。
  • 成功: 成功进入待发送队列,会在最近的视频帧之后发送该数据。
  • 失败: 数据被限制发送,可能发送的频率太高,队列已经满了,或者数据大小超过最大值 4k

◆ SetLocalVideoWatermarkConfigs()

int nertc.IRtcEngine.SetLocalVideoWatermarkConfigs ( bool enabled,
RtcVideoStreamType type,
RtcVideoWatermarkConfig config )
abstract

设置视频水印,水印在本地预览及发送过程中均生效。

注解
设置水印后,建议关注水印状态回调 OnLocalVideoWatermarkState
自从
V4.6.10
参数
enabled添加或删除水印。
  • true:添加水印。
  • false:删除水印。
type视频流类型。支持设置为主流或辅流。详细信息请参考 RtcVideoStreamType
config视频水印配置。支持设置文字水印、图片水印和时间戳水印。详细信息请参考 RtcVideoWatermarkConfig
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ TakeLocalSnapshot()

int nertc.IRtcEngine.TakeLocalSnapshot ( RtcVideoStreamType streamType,
RtcTakeSnapshotCallback callback )
abstract

本地视频画面截图。
调用 TakeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 RtcTakeSnapshotCallback 回调返回截图画面的数据。

注解
  • 本地主流截图,需要在 StartVideoPreview之后 或者 EnableLocalVideoJoinChannel 成功之后调用。
  • 本地辅流截图,需要在 JoinChannel 并开启屏幕共享成功之后调用。
  • 同时设置文字、时间戳或图片水印时,如果不同类型的水印位置有重叠,会按照图片、文本、时间戳的顺序进行图层覆盖。
参数
streamType截图的视频流类型。支持设置为主流或辅流。详细信息请参考 RtcVideoStreamType
callback截图回调。详细信息请参考 RtcTakeSnapshotCallback
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ TakeRemoteSnapshot()

int nertc.IRtcEngine.TakeRemoteSnapshot ( ulong uid,
RtcVideoStreamType streamType,
RtcTakeSnapshotCallback callback )
abstract

远端视频画面截图。
调用 TakeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 RtcTakeSnapshotCallback 回调返回截图画面的数据。

注解
  • TakeRemoteSnapshot 需要在收到 OnUserVideoStartOnUserVideoStart 回调之后调用。
  • 同时设置文字、时间戳或图片水印时,如果不同类型的水印位置有重叠,会按照图片、文本、时间戳的顺序进行图层覆盖。
参数
uid远端用户 ID。
streamType截图的视频流类型。支持设置为主流或辅流。详细信息请参考 RtcVideoStreamType
callback截图回调。详细信息请参考 RtcTakeSnapshotCallback
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartAudioRecording()

int nertc.IRtcEngine.StartAudioRecording ( string filePath,
int sampleRate,
RtcAudioRecordingQuality quality )
abstract

开始客户端录音。
调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 OnAudioRecording 回调。
指定的录音音质不同,录音文件会保存为不同格式:

  • WAV:音质保真度高,文件大。
  • AAC:音质保真度低,文件小。
    注解
  • 请在加入房间后调用此方法。
  • 客户端只能同时运行一个录音任务,正在录音时,如果重复调用此方法,会结束当前录制任务,并重新开始新的录音任务。
  • 当前用户离开房间时,自动停止录音。您也可以在通话中随时调用 StopAudioRecording 手动停止录音。
    参数
    filePath录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。
    • 请确保指定的路径存在并且可写。
    • 目前仅支持 WAV 或 AAC 文件格式。
    sampleRate录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。
    quality录音音质,只在 AAC 格式下有效。详细说明请参考 RtcAudioRecordingQuality
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartAudioRecordingWithConfig()

int nertc.IRtcEngine.StartAudioRecordingWithConfig ( RtcAudioRecordingConfiguration config)
abstract

开始客户端录音。 调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 OnAudioRecording 回调。指定的录音音质不同,录音文件会保存为不同格式:

  • WAV:音质保真度高,文件大。
  • AAC:音质保真度低,文件小。
    注解
  • 请在加入房间后调用此方法。
  • 客户端只能同时运行一个录音任务,正在录音时,如果重复调用。 StartAudioRecordingWithConfig ,会结束当前录制任务,并重新开始新的录音任务。
  • 当前用户离开房间时,自动停止录音。您也可以在通话中随时调用 StopAudioRecording 手动停止录音。
    自从
    V4.6.0
    参数
    config音频录制的配置 详见 RtcAudioRecordingConfiguration
    返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ StopAudioRecording()

int nertc.IRtcEngine.StopAudioRecording ( )
abstract

停止客户端录音。
本端离开房间时自动停止录音,您也可以在通话中随时调用 StopAudioRecording 手动停止录音。

注解
该接口需要在 leaveChannel 之前调用。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ AdjustRecordingSignalVolume()

int nertc.IRtcEngine.AdjustRecordingSignalVolume ( int volume)
abstract

调节采集信号音量。

注解
该方法仅调节应用程序中的采集信号音量,不修改设备音量。如果需要修改设备音量,请查看设备管理相关接口。
参数
[in]volume采集录音音量,取值范围为 [0, 400]。其中:
  • 0: 静音。
  • 100: 原始音量。
  • 400: 最大可为原始音量的 4 倍(自带溢出保护)。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ AdjustPlaybackSignalVolume()

int nertc.IRtcEngine.AdjustPlaybackSignalVolume ( int volume)
abstract

调节本地播放音量。

注解
该方法仅调节应用程序中音量,不修改设备音量。如果需要修改设备音量,请查看设备管理相关接口。
参数
[in]volume播放音量。取值范围为 [0, 400]。其中:
  • 0: 静音。
  • 100: 原始音量。
  • 400: 最大可为原始音量的 4 倍(自带溢出保护)。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ AdjustUserPlaybackSignalVolume()

int nertc.IRtcEngine.AdjustUserPlaybackSignalVolume ( ulong uid,
int volume )
abstract

调节本地播放的指定远端用户的信号音量。
加入房间后,您可以多次调用该方法设置本地播放的不同远端用户的音量。也可以反复调节本地播放的某个远端用户的音量。

注解
  • 请在成功加入房间后调用该方法。
  • 该方法在本次通话中有效。如果远端用户中途退出房间,则再次加入此房间时仍旧维持该设置,通话结束后设置失效。
  • 该方法调节的是本地播放的指定远端用户混音后的音量,且每次只能调整一位远端用户。若需调整多位远端用户在本地播放的音量,则需多次调用该方法。
参数
uid远端用户 ID。
volume播放音量,取值范围为 [0,100]。
  • 0:静音。
  • 100:原始音量。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ AdjustChannelPlaybackSignalVolume()

int nertc.IRtcEngine.AdjustChannelPlaybackSignalVolume ( uint volume)
abstract

调节本地播放的指定房间的所有远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定房间内的所有远端用户在本地播放的混音音量。

自从
V4.6.50
调用时机
请在引擎初始化之后调用此接口,该方法在加入房间前后都可调用。
注解
  • 该方法设置内部引擎为启用状态,在 LeaveChannel 后失效,但在本次通话过程中有效
参数说明
参数名称 类型 说明
volume uint 播放音量,取值范围为 [0,400]。
  • 0:静音。
  • 100:原始音量。
  • 400:最大可为原始音量的 4 倍(自带溢出保护)。
返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30005(kNERtcErrInvalidState):状态错误,比如引擎未初始化。

◆ StartChannelMediaRelay()

int nertc.IRtcEngine.StartChannelMediaRelay ( RtcChannelMediaRelayConfig config)
abstract

开始跨房间媒体流转发。

  • 该方法可用于实现跨房间连麦等场景。支持同时转发到 4 个房间,同一个房间可以有多个转发进来的媒体流。
  • 成功调用该方法后,SDK 会触发 OnMediaRelayStateChangedOnMediaRelayEvent 回调,并在回调中报告当前的跨房间媒体流转发状态和事件。
    注解
  • 请在成功加入房间后调用该方法。调用此方法前需要通过 RtcChannelMediaRelayConfig 中的 destInfos 设置目标房间。
  • 该方法仅对直播场景下的主播角色有效。
  • 成功调用该方法后,若您想再次调用该方法,必须先调用 StopChannelMediaRelay 方法退出当前的转发状态。
  • 成功开始跨房间转发媒体流后,如果您需要修改目标房间,例如添加或删减目标房间等,可以调用方法 UpdateChannelMediaRelay 更新目标房间信息。
    自从
    V4.3.0
    参数
    config跨房间媒体流转发参数配置信息。
    返回
    成功返回 0,其他则失败。

◆ UpdateChannelMediaRelay()

int nertc.IRtcEngine.UpdateChannelMediaRelay ( RtcChannelMediaRelayConfig config)
abstract

更新媒体流转发的目标房间。
成功开始跨房间转发媒体流后,如果您希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。

  • 成功开始跨房间转发媒体流后,如果您需要修改目标房间,例如添加或删减目标房间等,可以调用此方法。
  • 成功调用该方法后,SDK 会触发 OnMediaRelayStateChangedOnMediaRelayEvent 回调,并在回调中报告当前的跨房间媒体流转发状态和事件。
    注解
    请在加入房间并成功调用 StartChannelMediaRelay 开始跨房间媒体流转发后,调用此方法。调用此方法前需要通过 RtcChannelMediaRelayConfig 中的 destInfos 设置目标房间。
    自从
    V4.3.0
    参数
    config目标房间配置信息。
    返回
    成功返回 0,其他则失败。

◆ StopChannelMediaRelay()

int nertc.IRtcEngine.StopChannelMediaRelay ( )
abstract

停止跨房间媒体流转发。
主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 StopChannelMediaRelay 方法,此时主播会退出所有目标房间。

◆ SetLocalPublishFallbackOption()

int nertc.IRtcEngine.SetLocalPublishFallbackOption ( RtcStreamFallbackOption option)
abstract

设置弱网条件下发布的音视频流回退选项。
在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackAudioOnly 后:

  • SDK 会在上行弱网且音视频质量严重受影响时,自动关断视频流,尽量保证音频质量。
  • 同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。
  • 当本地发布的音视频流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发本地发布的媒体流已回退为音频流 OnPublishFallbackToAudioOnly 回调。
    注解
    请在加入房间(JoinChannel)前调用此方法。
    自从
    V4.3.0
    参数
    option发布音视频流的回退选项,默认为不开启回退 kNERtcStreamFallbackAudioOnly。详细信息请参考 RtcStreamFallbackOption
    返回
    0 方法调用成功,其他调用失败。

◆ SetRemoteSubscribeFallbackOption()

int nertc.IRtcEngine.SetRemoteSubscribeFallbackOption ( RtcStreamFallbackOption option)
abstract

设置弱网条件下订阅的音视频流回退选项。
弱网环境下,订阅的音视频质量会下降。使用该接口并将 option 设置为 kNERtcStreamFallbackVideoStreamLow 或者 kNERtcStreamFallbackAudioOnly 后:

  • SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高通信质量。
  • SDK 会持续监控网络质量,并在网络质量改善时自动恢复音视频流。
  • 当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发远端订阅流已回退为音频流 OnSubscribeFallbackToAudioOnly 回调。
    注解
    请在加入房间(JoinChannel)前调用此方法。
    自从
    V4.3.0
    参数
    option订阅音视频流的回退选项,默认为弱网时回退到视频小流 kNERtcStreamFallbackVideoStreamLow。详细信息请参考 RtcStreamFallbackOption
    返回
    0 方法调用成功,其他调用失败。

◆ EnableSuperResolution()

int nertc.IRtcEngine.EnableSuperResolution ( bool enable)
abstract

启用或停止 AI 超分。

自从
V4.4.0
注解
  • 使用 AI 超分功能之前,请 提交工单 联系网易云信技术支持工程师开通 AI 超分功能。
  • AI 超分仅对以下类型的视频流有效:
    • 必须为本端接收到第一路 360P 的视频流。
    • 必须为摄像头采集到的主流大流视频。AI 超分功能暂不支持复原重建小流和屏幕共享辅流。
参数
enable是否启用 AI 超分。默认为关闭状态。
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ EnableEncryption()

int nertc.IRtcEngine.EnableEncryption ( bool enable,
RtcEncryptionConfig config )
abstract

开启或关闭媒体流加密。

自从
V4.4.0 在金融行业等安全性要求较高的场景下,您可以在加入房间前通过此方法设置媒体流加密模式。
注解
  • 请在加入房间前调用该方法,加入房间后无法修改加密模式与密钥。用户离开房间后,SDK 会自动关闭加密。如需重新开启加密,需要在用户再次加入房间前调用此方法。
  • 同一房间内,所有开启媒体流加密的用户必须使用相同的加密模式和密钥,否则使用不同密钥的成员加入房间时会报错 kNERtcErrEncryptNotSuitable(30113)。
  • 安全起见,建议每次启用媒体流加密时都更换新的密钥。
参数
enable是否开启媒体流加密。
  • true: 开启。
  • false:(默认)关闭。
config媒体流加密方案。详细信息请参考 RtcEncryptionConfig
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ StartLastmileProbeTest()

int nertc.IRtcEngine.StartLastmileProbeTest ( RtcLastmileProbeConfig config)
abstract

开始通话前网络质量探测。
启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。
相关回调如下:

  • OnLastmileQuality:网络质量状态回调,以打分形式描述上下行网络质量的主观体验。该回调视网络情况在约 5 秒内返回。
  • OnLastmileProbeResult:网络质量探测报告回调,报告中通过客观数据反馈上下行网络质量。该回调视网络情况在约 30 秒内返回。
    注解
  • 请在加入房间(JoinChannel)前调用此方法。
  • 调用该方法后,在收到 OnLastmileQualityOnLastmileProbeResult 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。
    自从
    V4.5.0
    参数
    configLast mile 网络探测配置。
    返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ StopLastmileProbeTest()

int nertc.IRtcEngine.StopLastmileProbeTest ( )
abstract

停止通话前网络质量探测。

自从
V4.5.0
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ SetRemoteHighPriorityAudioStream()

int nertc.IRtcEngine.SetRemoteHighPriorityAudioStream ( bool enabled,
ulong uid )
abstract

设置远端用户音频流为高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。

注解
  • 该接口需要通话中设置,并需要自动订阅打开(默认打开)。
  • 该接口只能设置一个用户的优先级,后设置的会覆盖之前的设置。
  • 该接口通话结束后,优先级设置重置。
参数
[in]enabled是否设置音频订阅优先级。
  • true:设置音频订阅优先级。
  • false:取消设置音频订阅优先级。
[in]uid用户 ID。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ CheckNECastAudioDriver()

int nertc.IRtcEngine.CheckNECastAudioDriver ( )
abstract

检测虚拟声卡是否安装(仅适用于 Mac 系统)。 该接口会检测电脑是否安装最新版本的虚拟声卡。如果未安装,并且应用中已集成 NERTCPrivilegedTask 库,该接口会弹出安装虚拟声卡对话框,方便用户安装。

自从
V4.6.0
返回
  • 0: 电脑未安装网易虚拟声卡或虚拟声卡不是最新版本。
  • 1: 电脑已安装最新版本的网易虚拟声卡。

◆ EnableVideoCorrection()

int nertc.IRtcEngine.EnableVideoCorrection ( bool enable)
abstract

是否启用视频图像畸变矫正(仅 iOS/Android 支持)。

自从
V4.6.0
注解
  • 当使用相机去拍摄物体时,存在着一个从三维世界到二维图像的映射过程,这个过程中由于相机位置的变化和移动,会对拍摄物体的成像产生一定的形变影响。
  • 开启该功能时,根据合适的参数,可以通过算法把这个形变进行复原。
  • 使用该功能时,本地画布的渲染模式需要为 fit(即视频帧保持自身比例不变全部显示在当前视图中),否则矫正功能可能不会正常生效。
  • 矫正参数生效后,本地画面和对端看到的画面,均会是矫正以后的画面。
参数
enable是否开启视频图像矫正。
  • true:开启视频图像矫正。
  • false(默认):关闭视频图像矫正。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ SetVideoCorrectionConfig()

int nertc.IRtcEngine.SetVideoCorrectionConfig ( RtcVideoCorrectionConfiguration? config)
abstract

设置视频图像矫正参数(仅 iOS/Android 支持)。

自从
V4.6.0
注解
  • 矫正参数结构体的前 4 个参数,代表了待矫正区域相对于屏幕上视图的坐标,每个坐标点的 x 和 y 的取值范围均为 0 ~ 1 的浮点数。
  • 矫正参数结构体的后 3 个参数只有在使用了外部视频渲染功能时才需要传入。
  • config 可以传入 nil,清空之前设置过的矫正参数,将画面恢复至矫正之前的效果。
参数
config视频图像矫正相关参数。详细说明请参考 RtcVideoCorrectionConfiguration
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ EnableVirtualBackground()

int nertc.IRtcEngine.EnableVirtualBackground ( bool enabled,
RtcVirtualBackgroundSource backgroundSource )
abstract

启用/禁用虚拟背景。 启用虚拟背景功能后,您可以使用自定义背景图片替换本地用户的原始背景图片。 替换后,频道内所有用户都可以看到自定义背景图片。

自从
V4.6.0
注解
  • 您可以通过 OnVirtualBackgroundSourceEnabled 回调查看虚拟背景是否开启成功或出错原因。
  • 建议您使用配备 i5 CPU 及更高性能的设备。
  • 建议您在满足以下条件的场景中使用该功能:
  • 采用高清摄像设备,环境光线均匀。
  • 捕获的视频图像整洁,用户肖像半长且基本无遮挡,并且背景是与用户衣服颜色不同的单一颜色。
  • 虚拟背景功能不支持 Texture 格式的视频或通过 Push 方法从自定义视频捕获中获取的视频。
参数
enabled是否开启背景虚化
backgroundSource自定义背景图片。请参考 RtcVirtualBackgroundSource
返回
  • 0:方法调用成功。
  • Others : 方法调用失败。

◆ SetCloudProxy()

int nertc.IRtcEngine.SetCloudProxy ( RtcTransportType proxyType)
abstract

开启并设置云代理服务。
在内网环境下,如果用户防火墙开启了网络限制,请参考《使用云代理》将指定 IP 地址和端口号加入防火墙白名单,然后调用此方法开启云代理,并将 proxyType 参数设置为 NERtcTransportTypeUDPProxy(1),即指定使用 UDP 协议的云代理。

◆ EnableLocalData()

int nertc.IRtcEngine.EnableLocalData ( bool enabled)
abstract

开启或关闭本地数据通道。

注解
  • 该方法加入房间后才可调用。
  • 成功启用或禁用本地数据通道后,远端会触发 OnUserDataStopOnUserDataStart 回调。
参数
[in]enabled是否启用本地数据通道:
  • true: 开启本地数据通道。
  • false: 关闭本地数据通道。
自从
V5.0.0
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SubscribeRemoteData()

int nertc.IRtcEngine.SubscribeRemoteData ( ulong uid,
bool subscribe )
abstract

取消或恢复订阅指定远端用户数据通道流。
加入房间时,默认订阅所有远端用户的数据通道流,您可以通过此方法取消或恢复订阅指定远端用户的数据通道流。

注解
当 RtcConstants.kNERtcKeyAutoSubscribeData 默认打开时,用户不能手动修改数据通道订阅状态。
参数
[in]uid指定用户的 ID。
[in]subscribe是否订阅远端用户数据通道流。
  • true: 订阅指定数据通道流(默认)。
  • false: 取消订阅指定数据通道流。
自从
V5.0.0
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ SendData()

int nertc.IRtcEngine.SendData ( byte[] data)
abstract

通过数据通道发送数据。

参数
[in]data自定义数据, 最大不超过 128k。
自从
V5.0.0
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ StartBeauty()

int nertc.IRtcEngine.StartBeauty ( string filePath)
abstract

开启美颜功能模块。

  • 调用此接口后,开启美颜引擎。如果后续不再需要使用美颜功能,可以调用 StopBeauty 结束美颜功能模块,销毁美颜引擎并释放资源。
  • 开启美颜功能模块后,默认无美颜效果,您需要通过 SetBeautyEffect 或其他滤镜、贴纸相关接口设置美颜或滤镜效果。
    注解
  • 该方法需要在 EnableLocalVideo 之前设置。
    自从
    V4.2.202
    参数
    filePath文件文件绝对路径。(例:Windows 环境下传入 D:/xxx/data/beauty/nebeauty)
    返回
  • 0: 方法调用成功。
  • 30001(kNERtcErrFatal):方法调用失败。
  • 30004(kNERtcErrNotSupported):不支持美颜功能。

◆ StopBeauty()

int nertc.IRtcEngine.StopBeauty ( )
abstract

结束美颜功能模块。
如果后续不再需要使用美颜功能,可以调用 StopBeauty 结束美颜功能模块,SDK 会自动销毁美颜引擎并释放资源。

自从
V4.2.202
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ EnableBeauty()

int nertc.IRtcEngine.EnableBeauty ( bool enabled)
abstract

暂停或恢复美颜效果。
暂停美颜效果后,包括全局美颜、滤镜、贴纸和美妆在内的所有美颜效果都会暂时关闭,直至重新恢复美颜效果。

注解
  • 美颜效果默认开启。若您需要临时关闭美颜功能,需要在 StartBeauty 之后调用该方法。
自从
V4.2.202
参数
enabled是否恢复美颜效果。
  • true:恢复美颜效果。
  • false:暂停美颜效果。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ EnableBeautyMirrorMode()

int nertc.IRtcEngine.EnableBeautyMirrorMode ( bool enabled)
abstract

启用美颜时,启用或关闭镜像模式。

  • 美颜功能启用时,此接口用于开启或关闭镜像模式。默认为关闭状态。美颜功能暂停或结束后,此接口不再生效。
  • 启用镜像模式之后,本端画面会呈现为左右翻转的视觉效果。
  • 该方法已废弃。
自从
V4.2.202
参数
enabled美颜时是否启用镜像模式。默认为 true,表示美颜时启用镜像模式。false 表示美颜时取消镜像模式。

◆ GetBeautyEffect()

float nertc.IRtcEngine.GetBeautyEffect ( RtcBeautyEffectType type)
abstract

获取指定美颜类型的强度设置。
通过接口 SetBeautyEffect 设置美颜效果及强度后,可以通过此接口查看指定美颜效果的强度设置。

自从
V4.2.202
参数
type美颜类型。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ SetBeautyEffect()

int nertc.IRtcEngine.SetBeautyEffect ( RtcBeautyEffectType type,
float level )
abstract

设置指定美颜类型的强度。

  • 此方法可用于设置磨皮、美白、大眼等多种全局美颜类型。
  • 多次调用此接口可以叠加多种全局美颜效果,也可以通过相关方法叠加滤镜、贴纸、美妆等自定义效果。
    自从
    V4.2.202
    参数
    type美颜类型。详细信息请参考 RtcBeautyEffectType
    level对应美颜类型的强度。取值范围为 [0, 1],各种美颜效果的默认值不同。
    返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ AddBeautyFilter()

int nertc.IRtcEngine.AddBeautyFilter ( string filePath)
abstract

添加滤镜效果。
此接口用于加载滤镜资源,并添加对应的滤镜效果。需要更换滤镜时,重复调用此接口使用新的滤镜资源即可。

注解
  • 使用滤镜、贴纸和美妆等自定义美颜效果之前,需要先准备好对应的美颜资源或模型。
  • 滤镜效果可以和全局美颜、贴纸、美妆等效果互相叠加,但是不支持叠加多个滤镜。
自从
V4.2.202
参数
filePath滤镜资源或模型所在的绝对路径。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ RemoveBeautyFilter()

int nertc.IRtcEngine.RemoveBeautyFilter ( )
abstract

取消滤镜效果。

自从
V4.2.202
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ SetBeautyFilterLevel()

int nertc.IRtcEngine.SetBeautyFilterLevel ( float level)
abstract

设置滤镜强度。 取值越大,滤镜强度越大,开发者可以根据业务需求自定义设置滤镜强度。

注解
  • 滤镜强度设置实时生效,更换滤镜后需要重新设置滤镜强度,否则强度取默认值。
自从
V4.2.202
参数
level滤镜强度。取值范围为 [0 - 1],默认值为 0.5。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ AddBeautySticker()

int nertc.IRtcEngine.AddBeautySticker ( string filePath)
abstract

(此接口为 beta 版本)添加贴纸效果。
此接口用于加载贴纸资源,添加对应的贴纸效果。需要更换贴纸时,重复调用此接口使用新的贴纸资源即可。

注解
  • 使用滤镜、贴纸和美妆等自定义美颜效果之前,需要先准备好对应的美颜资源或模型。
  • 贴纸效果可以和全局美颜、滤镜、美妆等效果互相叠加,但是不支持叠加多个贴纸。
自从
V4.2.202
参数
filePath贴纸资源或模型所在的绝对路径。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ RemoveBeautySticker()

int nertc.IRtcEngine.RemoveBeautySticker ( )
abstract

(此接口为 beta 版本)取消贴纸效果。

自从
V4.2.202
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ AddBeautyMakeup()

int nertc.IRtcEngine.AddBeautyMakeup ( string filePath)
abstract

(此接口为 beta 版本)添加美妆效果。 此接口用于加载美妆模型,添加对应的美妆效果。需要更换美妆效果时,重复调用此接口使用新的美妆模型即可。

注解
  • 使用滤镜、贴纸和美妆等自定义美颜效果之前,需要先准备好对应的美颜资源或模型。
  • 美妆效果可以和全局美颜、滤镜、贴纸等效果互相叠加,但是不支持叠加多个美妆效果。
自从
V4.2.202
参数
filePath美妆模型所在的绝对路径。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ RemoveBeautyMakeup()

int nertc.IRtcEngine.RemoveBeautyMakeup ( )
abstract

(此接口为 beta 版本)取消美妆效果。

自从
V4.2.202
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ SetLocalVoiceReverbParam()

int nertc.IRtcEngine.SetLocalVoiceReverbParam ( RtcReverbParam param)
abstract

设置本地语音混响效果。

注解
该方法在加入房间前后都能调用,通话结束后重置为默认的关闭状态。
自从
V4.6.10
参数
param详细信息请参考 RtcReverbParam
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ EnableMediaPublish()

int nertc.IRtcEngine.EnableMediaPublish ( bool enabled,
RtcMediaPubType mediaType )
abstract

开启或关闭本地媒体流(主流)的发送。
该方法用于开始或停止向网络发送本地音频或视频数据。
该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。

自从
V4.6.10
注解
  • 该方法暂时仅支持控制音频流的发送。
  • 该方法在加入房间前后均可调用。
  • 停止发送媒体流的状态会在通话结束后被重置为允许发送。
  • 成功调用该方法切换本地用户的发流状态后,房间内其他用户会收到 OnUserAudioStart(开启发送音频)或 OnUserAudioStop(停止发送音频)的回调。
相关接口
  • MuteLocalAudioStream
    • 在需要开启本地音频采集(监测本地用户音量)但不发送音频流的情况下,您也可以调用 MuteLocalAudioStream(true) 方法。
    • 两者的差异在于,MuteLocalAudioStream(true) 仍然保持与服务器的音频通道连接,而 EnableMediaPublish(false) 表示断开此通道,因此若您的实际业务场景为多人并发的大房间,建议您调用 EnableMediaPublish 方法。
参数
enabled是否发布本地媒体流。
  • true(默认):发布本地媒体流。
  • false:不发布本地媒体流。
mediaType媒体发布类型,暂时仅支持音频。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ UpdatePermissionKey()

int nertc.IRtcEngine.UpdatePermissionKey ( string key)
abstract

更新权限密钥。

  • 通过本接口可以实现当用户权限被变更,或者收到权限密钥即将过期的回调 OnPermissionKeyWillExpire 时,更新权限密钥。
    自从
    V4.6.29
    使用前提
    请确保已开通高级 Token 鉴权功能,具体请联系您的网易云信商务经理。
    调用时机
    请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
    业务场景
    适用于变更指定用户加入、创建房间或上下麦时发布流相关权限的场景。
    参数说明
    参数名称 类型 说明
    key const char* 新的权限密钥。
    示例代码
    string key = "xxxxx";//向服务器请求得到的权限 key,具体请参考<a href="https://doc.yunxin.163.com/jcyOTA0ODM/docs/TQwMTEwMjk?platform=windows" target="_blank">高级 Token 鉴权</a>
    _rtcEngine?.UpdatePermissionKey(key);
    相关回调
    调用此接口成功更新权限密钥后会触发 OnUpdatePermissionKey 回调。
    返回
  • 0(kNERtcNoError):方法调用成功。
  • 其他:方法调用失败。
    • 30003(kNERtcErrInvalidParam):参数错误,比如 key 无效。
    • 30005(kNERtcErrInvalidState):当前状态不支持的操作,比如引擎尚未初始化。

◆ ReportCustomEvent()

int nertc.IRtcEngine.ReportCustomEvent ( string eventName,
string customIdentify,
string parameters )
abstract

上报自定义事件。

参数
eventName事件名 不能为空。
customIdentify自定义标识,比如产品或业务类型,如不需要填 null
parameters参数键值对 ,参数值支持 String 及 java 基本类型(int 、bool....) , 如不需要填 null
返回
操作返回值,成功则返回 0。

◆ SetRangeAudioMode()

int nertc.IRtcEngine.SetRangeAudioMode ( RtcRangeAudioMode mode)
abstract

设置范围语音模式。

注解
此接口在加入房间前后均可调用。
参数
mode范围语音模式。
返回
操作返回值,成功则返回 0。

◆ SetRangeAudioTeamID()

int nertc.IRtcEngine.SetRangeAudioTeamID ( int teamID)
abstract

设置范围语音小队。

注解
此接口在加入房间前后均可调用。
参数
teamID小队 ID
返回
操作返回值,成功则返回 0。

◆ SetAudioRecvRange()

int nertc.IRtcEngine.SetAudioRecvRange ( int audibleDistance,
int conversationalDistance,
RtcDistanceRolloffModel rollOff )
abstract

引擎 3D 音效算法距离范围设置。

注解
  • 此接口在加入房间前后均可调用。
  • 若要使用范围语音或 3D 音效功能需要入会前调用一次。
  • 仅使用范围语音时,通过设置 audibleDistance 设置语音接收范围,其他参数设置不生效,填写默认值即可。
参数
audibleDistance监听器能够听到扬声器并接收其文本消息的距离扬声器的最大距离。[0,1000] 默认值为 32。
conversationalDistance控制扬声器音频保持其原始音量的范围,超出该范围时,语音聊天的响度在被听到时开始淡出。 默认值为 1。
rollOff距离衰减模式 RtcDistanceRolloffModel ,默认值 kNERtcDistanceRolloffNone
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ UpdateSelfPosition()

int nertc.IRtcEngine.UpdateSelfPosition ( RtcPositionInfo info)
abstract

引擎 3D 音效算法中本人坐标方位更新接口。

注解
  • 此接口在加入房间成功后调用。
  • 仅使用范围语音时,只需设置 speakerPosition 和 headPosition,两者值保持一致。旋转信息只需设置默认值。
  • 在 2D 坐标系场景里,position 的 y 值设置为 0
  • 成功开启 3D 空间音效后(enableSpatializer),旋转信息设置有效。
参数
info位置信息,详细信息参看 RtcPositionInfo.
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ EnableSpatializerRoomEffects()

int nertc.IRtcEngine.EnableSpatializerRoomEffects ( bool enable)
abstract

引擎 3D 音效算法中房间混响效果开关。

注解
依赖 EnableSpatializer 接口开启。
参数
enable混响效果开关,默认值关闭。
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ SetSpatializerRoomProperty()

int nertc.IRtcEngine.SetSpatializerRoomProperty ( RtcSpatializerRoomProperty roomProperty)
abstract

引擎 3D 音效算法中房间混响属性。

注解
依赖 EnableSpatializer 接口开启。
参数
roomProperty房间属性 RtcSpatializerRoomProperty
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ SetSpatializerRenderMode()

int nertc.IRtcEngine.SetSpatializerRenderMode ( RtcSpatializerRenderMode mode)
abstract

引擎 3D 音效算法中渲染模式。

注解
依赖 EnableSpatializer 接口开启。
参数
mode渲染模式 RtcSpatializerRenderMode ,默认值 kNERtcSpatializerRenderBinauralHighQuality
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ InitSpatializer()

int nertc.IRtcEngine.InitSpatializer ( )
abstract

初始化引擎 3D 音效算法。

注解
此接口在加入房间前调用,退出房间后不重置。
返回
  • 0: 方法调用成功。
  • 其他:方法调用失败。

◆ EnableSpatializer()

int nertc.IRtcEngine.EnableSpatializer ( bool enable)
abstract

引擎 3D 音效算法开关。

注解
通话前调用,通话结束后不重置。
参数
enable是否打开 3D 音效算法功能。
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ GetMicrophoneMode()

int nertc.IRtcEngine.GetMicrophoneMode ( ref bool enabled)
abstract
参数
enabled麦克风是否打开。
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ GetRecordingSignalVolume()

int nertc.IRtcEngine.GetRecordingSignalVolume ( ref int volume)
abstract
参数
volume麦克风音量。
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ GetPlaybackSignalVolume()

int nertc.IRtcEngine.GetPlaybackSignalVolume ( ref int volume)
abstract
参数
volume扬声器音量。
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ CheckMicPermision()

int nertc.IRtcEngine.CheckMicPermision ( ref bool enabled)
abstract

检查平台麦克风权限(移动端)

参数
enabled麦克风是否有权限。
返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ PauseAudio()

int nertc.IRtcEngine.PauseAudio ( )
abstract

暂停音频输入与输出。

返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ ResumeAudio()

int nertc.IRtcEngine.ResumeAudio ( )
abstract

恢复音频输入与输出。

返回
  • 0: 方法调用成功。
  • 其他:调用失败。

◆ IsInChannel()

bool nertc.IRtcEngine.IsInChannel ( )
abstract

检查是否已经在房间内。

返回
  • 0: 方法调用成功。
  • 其他:调用失败。

类成员变量说明

◆ OnError

OnError nertc.IRtcEngine.OnError

所有的 Engine 事件。

◆ OnWarning

OnWarning nertc.IRtcEngine.OnWarning

◆ OnAPICallExecuted

OnAPICallExecuted nertc.IRtcEngine.OnAPICallExecuted

◆ OnJoinChannel

OnJoinChannel nertc.IRtcEngine.OnJoinChannel

◆ OnReconnectingStart

OnReconnectingStart nertc.IRtcEngine.OnReconnectingStart

◆ OnConnectionStateChange

OnConnectionStateChange nertc.IRtcEngine.OnConnectionStateChange

◆ OnNetworkTypeChanged

OnNetworkTypeChanged nertc.IRtcEngine.OnNetworkTypeChanged

◆ OnRejoinChannel

OnRejoinChannel nertc.IRtcEngine.OnRejoinChannel

◆ OnLeaveChannel

OnLeaveChannel nertc.IRtcEngine.OnLeaveChannel

◆ OnDisconnect

OnDisconnect nertc.IRtcEngine.OnDisconnect

◆ OnClientRoleChanged

OnClientRoleChanged nertc.IRtcEngine.OnClientRoleChanged

◆ OnUserJoined

OnUserJoined nertc.IRtcEngine.OnUserJoined

◆ OnUserLeft

OnUserLeft nertc.IRtcEngine.OnUserLeft

◆ OnUserAudioStart

OnUserAudioStart nertc.IRtcEngine.OnUserAudioStart

◆ OnUserAudioStop

OnUserAudioStop nertc.IRtcEngine.OnUserAudioStop

◆ OnUserVideoStart

OnUserVideoStart nertc.IRtcEngine.OnUserVideoStart

◆ OnUserVideoStop

OnUserVideoStop nertc.IRtcEngine.OnUserVideoStop

◆ OnScreenCaptureStatusChanged

OnScreenCaptureStatusChanged nertc.IRtcEngine.OnScreenCaptureStatusChanged

◆ OnUserVideoProfileUpdate

OnUserVideoProfileUpdate nertc.IRtcEngine.OnUserVideoProfileUpdate

◆ OnUserAudioMute

OnUserAudioMute nertc.IRtcEngine.OnUserAudioMute

◆ OnUserVideoMute

OnUserVideoMute nertc.IRtcEngine.OnUserVideoMute

◆ OnAudioDeviceRoutingDidChange

OnAudioDeviceRoutingDidChange nertc.IRtcEngine.OnAudioDeviceRoutingDidChange

◆ OnAudioDeviceStateChanged

OnAudioDeviceStateChanged nertc.IRtcEngine.OnAudioDeviceStateChanged

◆ OnAudioDefaultDeviceChanged

OnAudioDefaultDeviceChanged nertc.IRtcEngine.OnAudioDefaultDeviceChanged

◆ OnVideoDeviceStateChanged

OnVideoDeviceStateChanged nertc.IRtcEngine.OnVideoDeviceStateChanged

◆ OnCameraFocusChanged

OnCameraFocusChanged nertc.IRtcEngine.OnCameraFocusChanged

◆ OnCameraExposureChanged

OnCameraExposureChanged nertc.IRtcEngine.OnCameraExposureChanged

◆ OnFirstAudioDataReceived

OnFirstAudioDataReceived nertc.IRtcEngine.OnFirstAudioDataReceived

◆ OnFirstVideoDataReceived

OnFirstVideoDataReceived nertc.IRtcEngine.OnFirstVideoDataReceived

◆ OnRemoteVideoReceiveSizeChanged

OnRemoteVideoReceiveSizeChanged nertc.IRtcEngine.OnRemoteVideoReceiveSizeChanged

◆ OnLocalVideoRenderSizeChanged

OnLocalVideoRenderSizeChanged nertc.IRtcEngine.OnLocalVideoRenderSizeChanged

◆ OnFirstAudioFrameDecoded

OnFirstAudioFrameDecoded nertc.IRtcEngine.OnFirstAudioFrameDecoded

◆ OnFirstVideoFrameDecoded

OnFirstVideoFrameDecoded nertc.IRtcEngine.OnFirstVideoFrameDecoded

◆ OnCaptureVideoFrame

OnCaptureVideoFrame nertc.IRtcEngine.OnCaptureVideoFrame

◆ OnAudioMixingStateChanged

OnAudioMixingStateChanged nertc.IRtcEngine.OnAudioMixingStateChanged

◆ OnAudioMixingTimestampUpdate

OnAudioMixingTimestampUpdate nertc.IRtcEngine.OnAudioMixingTimestampUpdate

◆ OnAudioEffectTimestampUpdate

OnAudioEffectTimestampUpdate nertc.IRtcEngine.OnAudioEffectTimestampUpdate

◆ OnAudioEffectFinished

OnAudioEffectFinished nertc.IRtcEngine.OnAudioEffectFinished

◆ OnLocalAudioVolumeIndication

OnLocalAudioVolumeIndication nertc.IRtcEngine.OnLocalAudioVolumeIndication

◆ OnRemoteAudioVolumeIndication

OnRemoteAudioVolumeIndication nertc.IRtcEngine.OnRemoteAudioVolumeIndication

◆ OnAddLiveStreamTask

OnAddLiveStreamTask nertc.IRtcEngine.OnAddLiveStreamTask

◆ OnUpdateLiveStreamTask

OnUpdateLiveStreamTask nertc.IRtcEngine.OnUpdateLiveStreamTask

◆ OnRemoveLiveStreamTask

OnRemoveLiveStreamTask nertc.IRtcEngine.OnRemoveLiveStreamTask

◆ OnLiveStreamStateChanged

OnLiveStreamStateChanged nertc.IRtcEngine.OnLiveStreamStateChanged

◆ OnAudioHowling

OnAudioHowling nertc.IRtcEngine.OnAudioHowling

◆ OnRecvSEIMessage

OnRecvSEIMessage nertc.IRtcEngine.OnRecvSEIMessage

◆ OnAudioRecording

OnAudioRecording nertc.IRtcEngine.OnAudioRecording

◆ OnMediaRelayStateChanged

OnMediaRelayStateChanged nertc.IRtcEngine.OnMediaRelayStateChanged

◆ OnMediaRelayEvent

OnMediaRelayEvent nertc.IRtcEngine.OnMediaRelayEvent

◆ OnPublishFallbackToAudioOnly

OnPublishFallbackToAudioOnly nertc.IRtcEngine.OnPublishFallbackToAudioOnly

◆ OnSubscribeFallbackToAudioOnly

OnSubscribeFallbackToAudioOnly nertc.IRtcEngine.OnSubscribeFallbackToAudioOnly

◆ OnLastmileQuality

OnLastmileQuality nertc.IRtcEngine.OnLastmileQuality

◆ OnLastmileProbeResult

OnLastmileProbeResult nertc.IRtcEngine.OnLastmileProbeResult

◆ OnMediaRightChanged

OnMediaRightChanged nertc.IRtcEngine.OnMediaRightChanged

◆ OnCheckNECastAudioDriverResult

OnCheckNECastAudioDriverResult nertc.IRtcEngine.OnCheckNECastAudioDriverResult

◆ OnVirtualBackgroundSourceEnabled

OnVirtualBackgroundSourceEnabled nertc.IRtcEngine.OnVirtualBackgroundSourceEnabled

◆ OnLocalVideoWatermarkState

OnLocalVideoWatermarkState nertc.IRtcEngine.OnLocalVideoWatermarkState

◆ OnPermissionKeyWillExpire

OnPermissionKeyWillExpire nertc.IRtcEngine.OnPermissionKeyWillExpire

◆ OnUpdatePermissionKey

OnUpdatePermissionKey nertc.IRtcEngine.OnUpdatePermissionKey

◆ OnUserDataReceiveMessage

OnUserDataReceiveMessage nertc.IRtcEngine.OnUserDataReceiveMessage

◆ OnUserDataStart

OnUserDataStart nertc.IRtcEngine.OnUserDataStart

◆ OnUserDataStop

OnUserDataStop nertc.IRtcEngine.OnUserDataStop

◆ OnUserDataStateChanged

OnUserDataStateChanged nertc.IRtcEngine.OnUserDataStateChanged

◆ OnUserDataBufferedAmountChanged

OnUserDataBufferedAmountChanged nertc.IRtcEngine.OnUserDataBufferedAmountChanged

属性说明

◆ AudioDeviceManager

IAudioDeviceManager nertc.IRtcEngine.AudioDeviceManager
getabstract

获取音频设备管理对象。 该方法在加入房间前后都能调用。

返回
音频设备管理对象。

◆ VideoDeviceManager

IVideoDeviceManager nertc.IRtcEngine.VideoDeviceManager
getabstract

获取音频设备管理对象。 该方法在加入房间前后都能调用。

返回
音频设备管理对象。

◆ VoiceEngine

IRtcVoiceEngine nertc.IRtcEngine.VoiceEngine
getabstract

获取 IRtcVoiceEngine 对象

注解
返回IRtcEngineEx引擎中的语音模块对象。
  • 该对象用于实现语音消息的录制、播放、上传、下载。
  • 当IRtcEngineEx释放后该模块失效。
返回
返回 IRtcVoiceEngine 对象指针
  • 0: 方法调用失败。

该类的文档由以下文件生成: