Interface NERoomRtcController

Hierarchy

Properties

addLiveStreamTask adjustChannelPlaybackSignalVolume adjustPlaybackSignalVolume adjustRecordingSignalVolume disableEarBack disableEncryption disableLocalSubStreamAudio disconnectMyAudio enableAudioVolumeIndication enableEarBack enableEncryption enableLocalAudio enableLocalSubStreamAudio enableMediaPub enumCameraDevices enumPlayoutDevices enumRecordDevices getEffectDuration getLocalAudioLevel getScreenSharingUserUuid getSelectedCameraDevice getSelectedPlayoutDevice getSelectedRecordDevice isSupported joinRtcChannel leaveRtcChannel muteMemberAudio muteMemberVideo muteMyAudio muteMyVideo pauseAllEffects pauseEffect pauseLocalAudioRecording pauseLocalVideoCapture playEffect pushExternalVideoFrame reconnectMyAudio removeLiveStreamTask replayRemoteStream resumeAllEffects resumeEffect resumeLocalAudioRecording resumeLocalVideoCapture seExternalVideoSource setAudioMixingPlaybackVolume setAudioProfile setChannelProfile setEffectSendVolume setLocalVideoConfig setSelectedCameraDevice setSelectedPlayoutDevice setSelectedRecordDevice setupLocalVideoCanvas setupRemoteVideoCanvas setupRemoteVideoSubStreamCanvas startAudioMixing startScreenShare startShareSystemAudio? stopAllEffects stopAudioMixing stopEffect stopMemberScreenShare stopMemberSystemAudioShare stopScreenShare stopShareSystemAudio? subscribeRemoteVideoStream subscribeRemoteVideoSubStream switchDevice takeLocalSnapshot? unmuteMemberAudio unmuteMemberVideo unmuteMyAudio unmuteMyVideo unsubscribeRemoteVideoStream unsubscribeRemoteVideoSubStream updateLiveStreamTask

Methods

Properties

addLiveStreamTask: ((taskInfo) => Promise<NEResult<null>>)

Type declaration

    • (taskInfo): Promise<NEResult<null>>
    • 添加房间推流任务 成功调用该方法后,当前用户可以收到该直播流的状态通知 (该方法仅适用直播场景,请在房间内调用该方法,该方法在通话中有效。该方法每次只能增加一路旁路推流地址。如需推送多路流,则需多次调用该方法。同一个音视频房间(即同一个 channelid)可以创建 3 个不同的推流任务)

      Parameters

      Returns Promise<NEResult<null>>

adjustChannelPlaybackSignalVolume: ((channelName, volume) => void)

Type declaration

    • (channelName, volume): void
    • 调节对应房间本地播放的所有远端用户的信号音量。通过此接口可以实现调节所有远端用户在本地播放的混音音量。

      Parameters

      • channelName: string

        频道名称

      • volume: number

        采集信号音量,取值范围为 [0, 400]。0:静音。100:(默认)原始音量。400:最大可为原始音量的 4 倍(自带溢出保护)

      Returns void

      0 成功,否则失败

adjustPlaybackSignalVolume: ((volume) => number)

Type declaration

    • (volume): number
    • 调节本地播放的所有远端用户的信号音量。 通过此接口可以实现调节所有远端用户在本地播放的混音音量(由于系统限制,ios上目前不支持设置远端音频音量)。

      Parameters

      • volume: number

        采集信号音量,取值范围为 [0, 100]。0:静音。100:(默认)原始音量

      Returns number

      0 成功,否则失败

adjustRecordingSignalVolume: ((volume) => number)

Type declaration

    • (volume): number
    • 调节本端的采集音量

      Parameters

      • volume: number

      Returns number

disableEarBack: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 关闭耳返功能。 开启耳返功能后,必须连接上耳机或耳麦,才能正常使用耳返功能。

      Returns Promise<NEResult<null>>

disableEncryption: (() => number)

Type declaration

    • (): number
    • 关闭RTC媒体流加

      Returns number

disableLocalSubStreamAudio: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 关闭音频辅流

      Returns Promise<NEResult<null>>

disconnectMyAudio: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 断开音频,音频断开后将会中断自己与房间里其他人的音频互通

      Returns Promise<NEResult<null>>

enableAudioVolumeIndication: ((enable, interval, enableVad, channelName?) => void)

Type declaration

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

      Parameters

      • enable: boolean

        是否启用说话者音量提示。

      • interval: number
      • enableVad: boolean

        是否启用本地采集人声监测。

      • Optional channelName: string

        频道名称

      Returns void

enableEarBack: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 开启耳返功能。 开启耳返功能后,必须连接上耳机或耳麦,才能正常使用耳返功能。

      Returns Promise<NEResult<null>>

enableEncryption: ((gmEncryptKey, encryptionMode) => number)

Type declaration

    • (gmEncryptKey, encryptionMode): number
    • 开启RTC媒体流加

      Parameters

      • gmEncryptKey: string

        加密密钥,由业务服务端生成密钥,必传

      • encryptionMode: NEEncryptionMode

        加密方式,默认为128 位 SM4 加密,ECB模式sm4-128-ecb。(目前仅支持sm4-128-ecb)

      Returns number

enableLocalAudio: ((channelName, enable) => Promise<NEResult<null>>)

Type declaration

    • (channelName, enable): Promise<NEResult<null>>
    • 开启/关闭本地音频设备

      Parameters

      • channelName: string

        频道名称

      • enable: boolean

        是否开启

      Returns Promise<NEResult<null>>

enableLocalSubStreamAudio: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 开启音频辅流

      Returns Promise<NEResult<null>>

enableMediaPub: ((channelName, mediaType, enable) => Promise<NEResult<null>>)

Type declaration

    • (channelName, mediaType, enable): Promise<NEResult<null>>
    • 开启或关闭对应频道本地媒体流(主流)的发送。 该方法用于开始或停止向网络发送本地音频或视频数据。 该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。 该方法在加入房间前后均可调用。

      Parameters

      • channelName: string

        频道名称

      • mediaType: number

        媒体发布类型,暂时仅支持音频。取值参考 [NERoomRtcMediaPublishType]

      • enable: boolean

        是否发布本地媒体流。true(默认):发布本地媒体流。false:不发布本地媒体流。

      Returns Promise<NEResult<null>>

enumCameraDevices: (() => Promise<NEResult<NEDeviceBaseInfo[]>>)

Type declaration

enumPlayoutDevices: (() => Promise<NEResult<NEDeviceBaseInfo[]>>)

Type declaration

enumRecordDevices: (() => Promise<NEResult<NEDeviceBaseInfo[]>>)

Type declaration

getEffectDuration: ((options) => Promise<NEResult<number>>)

Type declaration

getLocalAudioLevel: ((channelName?) => number)

Type declaration

    • (channelName?): number
    • 返回本端音频发送音量

      Parameters

      • Optional channelName: string

        对应频道

      Returns number

getScreenSharingUserUuid: (() => string)

Type declaration

    • (): string
    • 查询屏幕共享者的userUuid

      Returns string

getSelectedCameraDevice: (() => string)

Type declaration

    • (): string
    • 获取当前已选择摄像头id

      Returns string

getSelectedPlayoutDevice: (() => string)

Type declaration

    • (): string
    • 获取当前已选择扬声器id

      Returns string

getSelectedRecordDevice: (() => string)

Type declaration

    • (): string
    • 获取当前已选择麦克风id

      Returns string

isSupported: boolean
joinRtcChannel: ((channelName?) => Promise<NEResult<null>>)

Type declaration

    • (channelName?): Promise<NEResult<null>>
    • 加入音视频房间

      Parameters

      • Optional channelName: string

        频道名称,如果为空则默认加入主房间

      Returns Promise<NEResult<null>>

leaveRtcChannel: ((channelName?) => Promise<NEResult<null>>)

Type declaration

    • (channelName?): Promise<NEResult<null>>
    • 离开音视频房间

      Parameters

      • Optional channelName: string

        频道名称,如果为空则默认离开主房间

      Returns Promise<NEResult<null>>

muteMemberAudio: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 尝试关闭成员音频,会进行权限校验

      Parameters

      • userUuid: string

        成员账号Id

      Returns Promise<NEResult<null>>

muteMemberVideo: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 尝试关闭成员视频,会进行权限校验

      Parameters

      • userUuid: string

        成员账号Id

      Returns Promise<NEResult<null>>

muteMyAudio: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 关闭本端音频发送 该方法用于禁止上行本地音频流

      Returns Promise<NEResult<null>>

muteMyVideo: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 关闭本端视频

      Returns Promise<NEResult<null>>

pauseAllEffects: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 暂停播放所有音效文件

      Returns Promise<NEResult<null>>

pauseEffect: ((effectId) => Promise<NEResult<null>>)

Type declaration

    • (effectId): Promise<NEResult<null>>
    • 暂停播放指定音效文件

      Parameters

      • effectId: number

      Returns Promise<NEResult<null>>

pauseLocalAudioRecording: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 暂停本地麦克风采集,调用后远端用户听不到本端声音。 该方法仅修改本地媒体状态,不会改变用户的音频开关状态[NERoomMember.isAudioOn]

      Returns Promise<NEResult<null>>

pauseLocalVideoCapture: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 暂停本地视频采集。 该方法仅修改本地媒体状态,不会改变用户的视频开关状态[NERoomMember.isVideoOn]

      Returns Promise<NEResult<null>>

playEffect: ((effectId, option) => Promise<NEResult<null>>)

Type declaration

    • (effectId, option): Promise<NEResult<null>>
    • 播放指定音效文件。 该方法播放指定的本地或在线音效文件。 支持的音效文件类型包括 MP3、M4A、AAC、3GP、WMA 和 WAV 格式,支持本地 SD 卡中的文件和在线 URL

      Parameters

      • effectId: number

        指定音效的 ID。每个音效均应有唯一的 ID。

      • option: NERoomCreateAudioEffectOption

        音效相关参数,包括混音任务类型、混音文件路径等。

      Returns Promise<NEResult<null>>

pushExternalVideoFrame: ((videoSource) => number)

Type declaration

    • (videoSource): number
    • 设置外部视频源数据输入

      Parameters

      • videoSource: MediaStreamTrack

        外部视频源

      Returns number

reconnectMyAudio: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 恢复音频,恢复音频后将恢复自己与其他人的音频互通,但是具体音频是否可听见还是取决于成员的mute状态

      Returns Promise<NEResult<null>>

removeLiveStreamTask: ((taskId) => Promise<NEResult<null>>)

Type declaration

    • (taskId): Promise<NEResult<null>>
    • 删除房间推流任务 (该方法仅适用直播场景,请在房间内调用该方法,该方法在通话中有效)

      Parameters

      • taskId: string

        推流任务 ID

      Returns Promise<NEResult<null>>

replayRemoteStream: ((options) => Promise<NEResult<null>>)

Type declaration

    • (options): Promise<NEResult<null>>
    • 重新播放远端流(自动播放受限时)

      Parameters

      Returns Promise<NEResult<null>>

resumeAllEffects: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 恢复播放所有音效文件

      Returns Promise<NEResult<null>>

resumeEffect: ((effectId) => Promise<NEResult<null>>)

Type declaration

    • (effectId): Promise<NEResult<null>>
    • 恢复播放指定音效文件

      Parameters

      • effectId: number

      Returns Promise<NEResult<null>>

resumeLocalAudioRecording: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 恢复本地麦克风采集,调用后远端用户可以听到本端声音。 该方法仅修改本地媒体状态,不会改变成员的音频开关状态[NERoomMember.isAudioOn]

      Returns Promise<NEResult<null>>

resumeLocalVideoCapture: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 恢复本地视频采集。 该方法仅修改本地媒体状态,不会改变成员的视频开关状态[NERoomMember.isVideoOn]

      Returns Promise<NEResult<null>>

seExternalVideoSource: ((enable) => number)

Type declaration

    • (enable): number
    • 该方法启用或关闭外部视频数据输入功能 需要重新开关视频才能生效

      Parameters

      • enable: boolean

        是否开启

      Returns number

setAudioMixingPlaybackVolume: ((volume) => Promise<NEResult<null>>)

Type declaration

    • (volume): Promise<NEResult<null>>
    • 调节伴奏播放音量。 该方法调节混音里伴奏的播放音量大小。

      Parameters

      • volume: number

        伴奏播放音量。取值范围为 0~100。默认 100,即原始文件音量。

      Returns Promise<NEResult<null>>

setAudioProfile: ((profile) => void)

Type declaration

    • (profile): void
    • 设置本端音频流质量

      Parameters

      Returns void

setChannelProfile: ((options) => number)

Type declaration

    • (options): number
    • 设置房间场景 该方法必须在加入房间前调用,进入房间后无法再设置房间场景

      Parameters

      Returns number

setEffectSendVolume: ((volume) => Promise<NEResult<null>>)

Type declaration

    • (volume): Promise<NEResult<null>>
    • 设置音效文件发送音量。

      Parameters

      • volume: number

        音效发送音量。范围为0~100,默认为100,表示原始音量。

      Returns Promise<NEResult<null>>

setLocalVideoConfig: ((profile) => void)

Type declaration

    • (profile): void
    • 设置本端视频流分辨率和帧率

      Parameters

      Returns void

setSelectedCameraDevice: ((deviceId) => Promise<NEResult<NEDeviceSwitchInfo>>)

Type declaration

setSelectedPlayoutDevice: ((deviceId) => Promise<NEResult<NEDeviceSwitchInfo>>)

Type declaration

setSelectedRecordDevice: ((deviceId) => Promise<NEResult<NEDeviceSwitchInfo>>)

Type declaration

setupLocalVideoCanvas: ((videoView) => number)

Type declaration

    • (videoView): number
    • 设置本地视图

      Parameters

      Returns number

setupRemoteVideoCanvas: ((videoView, userUuid) => number)

Type declaration

    • (videoView, userUuid): number
    • 设置远端用户视图

      Parameters

      Returns number

setupRemoteVideoSubStreamCanvas: ((videoView, userUuid) => number)

Type declaration

    • (videoView, userUuid): number
    • 设置远端的辅流视频画布

      Parameters

      Returns number

startAudioMixing: ((option) => Promise<NEResult<null>>)

Type declaration

    • (option): Promise<NEResult<null>>
    • 开始播放音乐文件。 该方法指定本地或在线音频文件来和录音设备采集的音频流进行混音。 支持的音乐文件类型包括 MP3、M4A、AAC、3GP、WMA 和 WAV 格式,支持本地文件或在线 URL。

      Parameters

      • option: NERoomCreateAudioMixingOption

        创建混音任务配置的选项,包括混音任务类型、混音文件全路径或 URL 等,详细信息请参考 audio.NERtcCreateAudioMixingOption。

      Returns Promise<NEResult<null>>

startScreenShare: ((screenConfig?) => Promise<NEResult<null>>)

Type declaration

startShareSystemAudio?: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 开启分享系统音频

      Returns Promise<NEResult<null>>

stopAllEffects: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 停止播放所有音效文件。

      Returns Promise<NEResult<null>>

stopAudioMixing: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 停止播放音乐文件及混音。 该方法停止播放伴奏。

      Returns Promise<NEResult<null>>

stopEffect: ((effectId) => Promise<NEResult<null>>)

Type declaration

    • (effectId): Promise<NEResult<null>>
    • 停止播放指定音效文件。

      Parameters

      • effectId: number

        指定音效的 ID。每个音效均有唯一的 ID。

      Returns Promise<NEResult<null>>

stopMemberScreenShare: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 尝试关闭房间内成员的屏幕共享,会进行权限校验。

      Parameters

      • userUuid: string

        成员账号Id

      Returns Promise<NEResult<null>>

stopMemberSystemAudioShare: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 尝试关闭房间内成员的系统音频流共享,会进行权限校验

      Parameters

      • userUuid: string

        成员账号Id

      Returns Promise<NEResult<null>>

stopScreenShare: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 关闭本端屏幕共享

      Returns Promise<NEResult<null>>

stopShareSystemAudio?: (() => Promise<NEResult<null>>)

Type declaration

    • (): Promise<NEResult<null>>
    • 停止分享系统音频

      Returns Promise<NEResult<null>>

subscribeRemoteVideoStream: ((userUuid, streamType) => Promise<NEResult<null>>)

Type declaration

    • (userUuid, streamType): Promise<NEResult<null>>
    • 订阅指定远端用户的视频流

      Parameters

      Returns Promise<NEResult<null>>

subscribeRemoteVideoSubStream: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 订阅指定远端用户辅流视频

      Parameters

      • userUuid: string

        用户id

      Returns Promise<NEResult<null>>

switchDevice: ((params) => Promise<NEResult<NEDeviceSwitchInfo>>)

Type declaration

takeLocalSnapshot?: ((streamType) => Promise<NEResult<undefined | string | Uint8Array>>)

Type declaration

    • (streamType): Promise<NEResult<undefined | string | Uint8Array>>
    • Parameters

      • streamType: 0 | 1

      Returns Promise<NEResult<undefined | string | Uint8Array>>

unmuteMemberAudio: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 尝试打开成员音频,会进行权限校验

      Parameters

      • userUuid: string

        成员账号Id

      Returns Promise<NEResult<null>>

unmuteMemberVideo: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 尝试打开成员视频,会进行权限校验

      Parameters

      • userUuid: string

        成员账号Id

      Returns Promise<NEResult<null>>

unmuteMyAudio: ((enableMediaPub?) => Promise<NEResult<null>>)

Type declaration

    • (enableMediaPub?): Promise<NEResult<null>>
    • 打开本端音频发送 该方法用于允许上行本地音频流

      Parameters

      • Optional enableMediaPub: boolean

      Returns Promise<NEResult<null>>

unmuteMyVideo: ((enableMediaPub?, facingMode?) => Promise<NEResult<null>>)

Type declaration

    • (enableMediaPub?, facingMode?): Promise<NEResult<null>>
    • 打开本端视频

      Parameters

      • Optional enableMediaPub: boolean
      • Optional facingMode: "user" | "environment"

      Returns Promise<NEResult<null>>

unsubscribeRemoteVideoStream: ((userUuid, streamType) => Promise<NEResult<null>>)

Type declaration

    • (userUuid, streamType): Promise<NEResult<null>>
    • 取消订阅指定远端用户的视频流

      Parameters

      Returns Promise<NEResult<null>>

unsubscribeRemoteVideoSubStream: ((userUuid) => Promise<NEResult<null>>)

Type declaration

    • (userUuid): Promise<NEResult<null>>
    • 取消订阅指定远端用户辅流视频

      Parameters

      • userUuid: string

        用户id

      Returns Promise<NEResult<null>>

updateLiveStreamTask: ((taskInfo) => Promise<NEResult<null>>)

Type declaration

    • (taskInfo): Promise<NEResult<null>>
    • 更新修改房间推流任务 该方法仅适用直播场景 请在房间内调用该方法,该方法在通话中有效

      Parameters

      Returns Promise<NEResult<null>>

Methods

  • 开启/关闭字幕

    Parameters

    • enable: boolean

      是否开启

    Returns Promise<number>

  • 设置字幕 设置字幕翻译语言。默认为 [NERoomCaptionTranslationLanguage.NONE],即不翻译。

    Parameters

    Returns Promise<number>

  • Parameters

    • userUuid: string
    • streamType: 0 | 1

    Returns Promise<NEResult<undefined | string | Uint8Array>>