interface NERtcChannel {
    adjustChannelPlaybackSignalVolume(volume: number): number;
    adjustUserPlaybackSignalVolume(uid: bigint, volume: number): number;
    enableAudioVolumeIndication(
        enabled: boolean,
        interval: bigint,
        enableVad?: boolean,
    ): number;
    enableLocalAudio(enabled: boolean): number;
    enableLocalSubStreamAudio(enabled: boolean): number;
    enableLocalVideo(enable: boolean, streamType: NERtcVideoStreamType): number;
    enableMediaPub(
        mediaType: kNERtcMediaPublishTypeAudio,
        enable: boolean,
    ): number;
    getConnectionState(): NERtcConnectionStateType;
    joinChannel(token: string, channelName: string, uid: bigint): number;
    leaveChannel(): number;
    muteLocalAudioStream(enabled: boolean): number;
    muteLocalSubStreamAudio(enabled: boolean): number;
    muteLocalVideo(streamType: NERtcVideoStreamType, mute: boolean): number;
    pushExternalVideoFrame(
        frame: NERtcVideoFrame,
        streamType: NERtcVideoStreamType,
    ): number;
    release(): void;
    reportCustomEvent(
        eventName: string,
        customIdentify?: string,
        param?: Map<string, Object>,
    ): number;
    setAudioSubscribeOnlyBy(uidArray: BigUint64Array): number;
    setCameraCaptureConfig(
        config: NERtcCameraCaptureConfiguration,
        streamType: NERtcVideoStreamType,
    ): number;
    setClientRole(role: NERtcClientRole): number;
    setExternalVideoSource(
        enable: boolean,
        streamType: NERtcVideoStreamType,
    ): number;
    setLocalPublishFallbackOption(option: StreamFallbackOption): number;
    setLocalVideoConfig(
        config: NERtcVideoEncodeConfiguration,
        streamType: NERtcVideoStreamType,
    ): number;
    setRemoteSubscribeFallbackOption(option: StreamFallbackOption): number;
    setStatsObserver(statsObserver: NERtcStatsObserver): void;
    setSubscribeAudioBlacklist(
        uidArray: BigUint64Array,
        streamType: NERtcAudioStreamType,
    ): number;
    setSubscribeAudioWhitelist(uidArray: BigUint64Array): number;
    setupLocalSubStreamVideoCanvas(canvas: NERtcVideoCanvas): number;
    setupRemoteSubStreamVideoCanvas(
        canvas: NERtcVideoCanvas,
        userid: BigInt,
    ): number;
    startScreenCapture(config: NERtcScreenConfiguration): number;
    stopScreenCapture(): number;
    subscribeAllRemoteAudioStreams(enabled: boolean): number;
    subscribeRemoteAudioStream(uid: bigint, subscribe: boolean): number;
    subscribeRemoteSubStreamAudio(uid: bigint, subscribe: boolean): number;
    subscribeRemoteSubStreamVideo(uid: bigint, subscribe: boolean): number;
    subscribeRemoteVideo(
        user_id: bigint,
        subscribe: boolean,
        subscribe_type: NERtcRemoteVideoSubscribeType,
    ): number;
    switchCamera(): number;
    switchCameraWithPosition(position: NERtcCameraPosition): number;
    takeLocalSnapshot(
        streamType: NERtcVideoStreamType,
        callback: NERtcTakeSnapshotCallback,
    ): number;
    takeRemoteSnapshot(
        uid: bigint,
        streamType: NERtcVideoStreamType,
        callback: NERtcTakeSnapshotCallback,
    ): number;
}

Methods

  • Parameters

    • volume: number

    Returns number

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

    Parameters

    • uid: bigint

      远端用户 ID。

    • volume: number

      播放音量,取值范围为 0 ~ 400。

      • 0:静音。
      • 100(默认):原始音量。
      • 400:最大音量值(自带溢出保护)。

    Returns number

    • 0(OK):方法调用成功。
    • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):状态错误,比如引擎未初始化。

    调用时机 请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。

    • 该方法设置内部引擎为启用状态,在 () 后失效,但在本次通话过程中有效,比如指定远端用户中途退出房间,则再次加入此房间时仍旧维持该设置。
    • 该方法每次只能调整一位远端用户的播放音量,若需调整多位远端用户在本地播放的音量,则需多次调用该方法。
    //调整uid为12345的用户在本地的播放音量为50
    NERtcSDK.getInstance().adjustUserPlaybackSignalVolume(12345, 50);
    //调整uid为12345的用户在本地的播放音量为0,静音该用户。
    NERtcSDK.getInstance().adjustUserPlaybackSignalVolume(12345, 0);
  • 启用说话者音量提示。
    通过此接口可以实现允许 SDK 定期向 App 反馈房间内发音频流的用户和瞬时音量最高的远端用户(最多 3 位,包括本端)的音量相关信息,即当前谁在说话以及说话者的音量。

    Parameters

    • enabled: boolean

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

      • true:启用说话者音量提示。
      • false:关闭说话者音量提示。

    • interval: bigint

      指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。

    • OptionalenableVad: boolean

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

      • true:启用本地采集人声监测。
      • false:关闭本地采集人声监测。

    Returns number

    • 0(OK):方法调用成功。
    • 其他:方法调用失败。
    • 30001(ENGINE_ERROR_FATAL):内部错误,比如音频相关模块未初始化成功。
    • 30003(ENGINE_ERROR_INVALID_PARAM):参数错误,比如时间间隔小于 100ms。
    • 30005(ENGINE_ERROR_INVALID_STATE):状态错误,比如引擎未初始化。

    调用时机
    请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。

    业务场景
    适用于通过发言者的人声相关信息做出 UI 上的音量展示的场景,或根据发言者的音量大小进行视图布局的动态调整。

    //设置间隔为500ms的人声音量提示
    NERtcSDK.getInstance().enableAudioVolumeIndication(true, BigInt(500), true);

    相关回调
    启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 NERtcCallback.NERtcCallbackEx#onRemoteAudioVolumeIndication 回调。

    相关接口
    若您希望在返回音量相关信息的同时检测是否有真实人声存在,请调用 NERtc#enableAudioVolumeIndication 方法。

  • Parameters

    • enabled: boolean

    Returns number

  • Parameters

    • enabled: boolean

    Returns number

  • Parameters

    • token: string
    • channelName: string
    • uid: bigint

    Returns number

  • Returns number

  • Parameters

    • enabled: boolean

    Returns number

  • Parameters

    • enabled: boolean

    Returns number

  • Returns void

  • Parameters

    • eventName: string
    • OptionalcustomIdentify: string
    • Optionalparam: Map<string, Object>

    Returns number

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

    Parameters

    • uidArray: BigUint64Array

      可订阅自己音频的用户uid 列表。

    Returns number

    • 0:方法调用成功。
    • 其他:方法调用失败。
    • 此接口需要在加入房间成功后调用。
    • 对于调用接口时不在房间的 uid 不生效。

    此列表为全量列表。如果列表为空或 null,表示其他所有人均可订阅自己的音频。

  • Parameters

    • uidArray: BigUint64Array

    Returns number

  • Returns number

  • Parameters

    • enabled: boolean

    Returns number

  • Parameters

    • uid: bigint
    • subscribe: boolean

    Returns number

  • Parameters

    • uid: bigint
    • subscribe: boolean

    Returns number

  • Parameters

    • uid: bigint
    • subscribe: boolean

    Returns number

  • Returns number