Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Stream

音视频流对象。

Stream 接口提供的方法用于定义音视频流对象的行为,例如流的播放控制、音视频的编码配置等。

您可以使用 NERTC.createStream 创建音视频流对象。 一个 Stream 对象指通话中发布的本地音视频流或订阅的远端音视频流。

Hierarchy

  • Stream

Index

Methods

adjustAudioMixingVolume

  • adjustAudioMixingVolume(volume: number): undefined | null | Promise<void>
  • 调节音乐文件音量。

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

    Parameters

    • volume: number

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

    Returns undefined | null | Promise<void>

adjustResolution

  • adjustResolution(MediaType: MediaType): void
  • 设置分辨率。

    Parameters

    Returns void

cleanMediaRecording

  • cleanMediaRecording(options: { recordId: string }): Promise<void>
  • 清除录制的音视频。

    Parameters

    • options: { recordId: string }

      参数对象。

      • recordId: string

        录制 ID。可以通过 listMediaRecording 接口获取。

    Returns Promise<void>

close

  • close(options: { type: MediaType }): Promise<undefined>
  • 关闭音视频输入设备,如麦克风、摄像头、屏幕共享,并且停止发布。

    Parameters

    • options: { type: MediaType }

      配置对象

      • type: MediaType

        媒体流类型,即 audio、video 或 screen。

    Returns Promise<undefined>

destroy

  • destroy(): void
  • 销毁音视频流对象。

    Returns void

downloadMediaRecording

  • downloadMediaRecording(options: { recordId: string }): Promise<RecordStatus>
  • 下载录制的音视频。

    Parameters

    • options: { recordId: string }

      参数对象。

      • recordId: string

        录制 ID。可以通过 listMediaRecording 接口获取。

    Returns Promise<RecordStatus>

getAudioLevel

  • getAudioLevel(): string
  • 获取从麦克风中采集的当前音量。

    Returns string

getAudioMixingCurrentPosition

  • getAudioMixingCurrentPosition(): Promise<void>
  • 获取音乐文件当前播放进度。

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

    Returns Promise<void>

    方法调用成功返回音乐文件播放进度。

getAudioMixingDuration

  • getAudioMixingDuration(): Promise<void>
  • 获取音乐文件时长。

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

    Returns Promise<void>

    方法调用成功返回音乐文件时长,单位为毫秒(ms)。

getAudioStream

  • getAudioStream(): null | MediaStream
  • 获取音频流 MediaStream 对象,可用于自定义音频渲染。

    您可以自行渲染这个对象,例如将 audio dom 节点的 srcObject 属性设为该对象。

    note

    使用自定义音频渲染功能时,应该在播放远端流时,关闭默认的音频渲染。

    remoteStream.play({
       audio: false,
       video: true
    });
    const audioStream = remoteStream.getAudioStream();
    // audioDom为自行创建的DOM节点
    audioDom.srcObject = audioStream;
    

    Returns null | MediaStream

getAudioTrack

  • getAudioTrack(): null | MediaStreamTrack
  • 获取音频轨道。

    Returns null | MediaStreamTrack

getEffectsVolume

  • getEffectsVolume(): { soundId: number; volume: number }[]
  • 获取所有音效文件播放音量。

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Returns { soundId: number; volume: number }[]

    可能返回的错误码:

    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能

getId

  • getId(): null | number
  • 获取音视频流 ID。

    Returns null | number

getVideoTrack

  • getVideoTrack(): undefined | null | MediaStreamTrack
  • 获取视频轨道。

    Returns undefined | null | MediaStreamTrack

hasAudio

  • hasAudio(): boolean
  • 获取音频 flag。

    该方法用于确认当前音视频流对象(Stream)中是否包含音频资源。

    note

    该方法仅对本地流有效。

    Returns boolean

    • true: 该音视频流对象中包含音频资源。
    • false: 该音视频流对象中不包含音频资源。

hasScreen

  • hasScreen(): boolean
  • 获取屏幕共享 flag。

    该方法用于确认当前音视频流对象(Stream)中是否包含屏幕共享资源。

    note

    该方法仅对本地流有效。

    Returns boolean

    • true: 该音视频流对象中包含屏幕共享资源。
    • false: 该音视频流对象中不包含屏幕共享资源。

hasVideo

  • hasVideo(): boolean
  • 获取视频 flag。

    该方法用于确认当前音视频流对象(Stream)中是否包含视频资源。

    note

    该方法仅对本地流有效。

    Returns boolean

    • true: 该音视频流对象中包含视频资源。
    • false: 该音视频流对象中不包含视频资源。

init

  • init(): Promise<void>
  • 初始化音视频流对象。

    该方法用于初始化本地创建的音视频流对象。

    Returns Promise<void>

isPlaying

  • isPlaying(type: MediaType): Promise<boolean>
  • 返回音视频流当前是否在播放状态。

    Parameters

    Returns Promise<boolean>

    • true:该音视频流正在渲染或播放。
    • false:该音视频流没有渲染。

listMediaRecording

  • listMediaRecording(): { endTime: null | number; id: number; isRecording: boolean; name: null | string; startTime: null | number; status: string; type: string }[]
  • 枚举录制的音视频。

    Returns { endTime: null | number; id: number; isRecording: boolean; name: null | string; startTime: null | number; status: string; type: string }[]

    录制的音视频信息。

    • id :ID。
    • type :录制类型。
    • name :录制文件名称。
    • status :录制状态。
    • isRecording :是否正在录制。
    • startTime :录制开始时间。
    • endTime :录制结束时间。

muteAudio

  • muteAudio(): Promise<void>
  • 禁用音频轨道。

    Returns Promise<void>

muteScreen

  • muteScreen(): Promise<void>
  • 禁用屏幕共享轨道。

    调用该方法会停止发送屏幕共享,远端会触发 Client.on("mute-screen") 回调。

    Returns Promise<void>

muteVideo

  • muteVideo(): Promise<void>
  • 禁用视频轨道。

    • 对于本地流,调用该方法会停止发送视频,远端会触发 Client.on("mute-video") 回调。
    • 对于远端流,调用该方法仍然会接收视频,但是会停止播放。
    note

    对于本地创建的流,在 createStream 时将 video 设置为 true 才可使用该方法。

    Returns Promise<void>

on

  • on(event: "accessDenied", callback: (mediaType: "audio" | "video") => void): void
  • on(event: "notFound", callback: (mediaType: "audio" | "video") => void): void
  • on(event: "deviceError", callback: (mediaType: "audio" | "video") => void): void
  • on(event: "beOccupied", callback: (mediaType: "audio" | "video") => void): void
  • 获取设备权限被拒绝。

    Parameters

    • event: "accessDenied"
    • callback: (mediaType: "audio" | "video") => void
        • (mediaType: "audio" | "video"): void
        • Parameters

          • mediaType: "audio" | "video"

          Returns void

    Returns void

  • 获取麦克风或摄像头权限时,无法找到指定设备。

    Parameters

    • event: "notFound"
    • callback: (mediaType: "audio" | "video") => void
        • (mediaType: "audio" | "video"): void
        • Parameters

          • mediaType: "audio" | "video"

          Returns void

    Returns void

  • 获取麦克风或摄像头权限时,遭遇未知错误错误。

    Parameters

    • event: "deviceError"
    • callback: (mediaType: "audio" | "video") => void
        • (mediaType: "audio" | "video"): void
        • Parameters

          • mediaType: "audio" | "video"

          Returns void

    Returns void

  • 获取麦克风或摄像头权限时,设备被占用。

    Parameters

    • event: "beOccupied"
    • callback: (mediaType: "audio" | "video") => void
        • (mediaType: "audio" | "video"): void
        • Parameters

          • mediaType: "audio" | "video"

          Returns void

    Returns void

open

  • open(options: { deviceId?: string; screenAudio?: boolean; sourceId?: string; type: MediaType }): Promise<undefined>
  • 打开音视频输入设备,如麦克风、摄像头、屏幕共享,并且发布出去。

    Parameters

    • options: { deviceId?: string; screenAudio?: boolean; sourceId?: string; type: MediaType }

      配置对象。

      • Optional deviceId?: string

        指定要开启的设备ID。

        您可以通过 getDevices 接口获取设备列表。

      • Optional screenAudio?: boolean

        指定屏幕共享时是否共享本地播放的背景音。

        仅在未开启音频且 type 为 screen 时有效。详细说明请参考 StreamOptions.screenAudio

      • Optional sourceId?: string

        Electron 屏幕共享的数据源 ID,您可以自行获取。

      • type: MediaType

        媒体流类型,即 audio、video 或 screen。

    Returns Promise<undefined>

pauseAllEffects

  • pauseAllEffects(): Promise<unknown>
  • 暂停播放所有音效文件。

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "SOUND_NOT_EXISTS": soundId指定的音效文件不存在
    • "INVALID_OPERATION":非法操作,可以通过console日志查看原因,一般是状态不对
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.pauseEffect:soundId":soundId参数格式错误

pauseAudioMixing

  • pauseAudioMixing(): undefined | null | Promise<void>
  • 暂停播放音乐文件。

    请在房间内调用该方法。

    Returns undefined | null | Promise<void>

pauseEffect

  • pauseEffect(soundId: number): Promise<unknown>
  • 暂停播放指定音效文件。

    since

    V4.3.0

    note

    请在房间内调用该方法。

    Parameters

    • soundId: number

      指定音效的 ID。每个音效均有唯一的 ID。正整数,取值范围为 [1,10000]。

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "SOUND_NOT_EXISTS": soundId指定的音效文件不存在
    • "INVALID_OPERATION":非法操作,可以通过console日志查看原因,一般是状态不对
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.pauseEffect:soundId":soundId参数格式错误

play

  • play(view: null | HTMLElement, playOptions?: { audio?: boolean; screen?: boolean; video?: boolean }): Promise<void>
  • 播放音视频流。

    Parameters

    • view: null | HTMLElement

      div 标签,播放画面的 dom 容器节点。

    • Optional playOptions: { audio?: boolean; screen?: boolean; video?: boolean }

      播放的音视频选项。

      • Optional audio?: boolean

        是否播放音频流。

        默认播放本地音频流,不播放远端音频流。

      • Optional screen?: boolean

        是否播放视频流。

        默认播放视频流。

      • Optional video?: boolean

        是否播放视频流。

        默认播放视频流。

    Returns Promise<void>

playEffect

  • playEffect(options: { cycle: number; filePath: string; soundId: number }): Promise<unknown>
  • 播放指定音效文件。

    • 支持的音效文件类型包括 MP3,AAC 等浏览器支持的其他音频格式。仅支持在线 URL。
    • playEffect 与 startAudioMixing 方法的区别在于,该方法更适合播放较小的音效文件,且支持同时播放多个音效。
    since

    V4.3.0

    note
    • 请在 publish 音频之后调用该方法。
    • 您可以多次调用该方法,通过传入不同的音效文件的 soundId 和 filePath,同时播放多个音效文件,实现音效叠加。为获得最佳用户体验,建议同时播放的音效文件不超过 3 个。

    Parameters

    • options: { cycle: number; filePath: string; soundId: number }
      • cycle: number

        可选,指定音效文件循环播放的次数。默认值为 1,即播放 1 次。

      • filePath: string

        必选。指定在线音效文件的 URL地址。

        支持的音效文件类型包括 MP3,AAC 等浏览器支持的其他音频格式。

      • soundId: number

        必选,指定音效的 ID。每个音效均有唯一的 ID。正整数,取值范围为 [1,10000]。

        如果您已通过 preloadEffect 将音效加载至内存,确保 playEffect 的 soundID 与 preloadEffect 设置的 soundID 相同。

    Returns Promise<unknown>

    可能返回的错误码:

    • ""BROWSER_NOT_SUPPORT: 不支持的浏览器类型。
    • "INVALID_OPERATION":非法操作,详细原因请查看日志,通常为状态错误。
    • "No MediaHelper": localStream 没有 init() 初始化,无法使用音效功能。
    • "Stream.playEffect:soundId":soundId 参数格式错误。
    • "Stream.playEffect:filePath":filePath 参数格式错误。
    • "Stream.playEffect:cycle":cycle 参数格式错误。

playMediaRecording

  • playMediaRecording(options: { recordId: string; view: HTMLElement }): Promise<void>
  • 播放视频录制。

    Parameters

    • options: { recordId: string; view: HTMLElement }

      参数对象。

      • recordId: string

        录制 ID。可以通过 listMediaRecording 接口获取。

      • view: HTMLElement

        音频或者视频画面待渲染的 DOM 节点,如 div、span 等非流媒体节点。

    Returns Promise<void>

preloadEffect

  • preloadEffect(soundId: number, filePath: string): Promise<unknown>
  • 预加载指定音效文件。

    该方法缓存音效文件,以供快速播放。为保证通信畅通,请注意控制预加载音效文件的大小。

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Parameters

    • soundId: number

      指定音效的 ID。每个音效均有唯一的 ID。正整数,取值范围为 [1,10000]。

    • filePath: string

      必选。指定在线音效文件的绝对路径。支持MP3、AAC 以及浏览器支持的其他音频格式。

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.preloadEffect:filePath": 参数格式错误
    • "Stream.preloadEffect:soundId": 参数格式错误

resumeAllEffects

  • resumeAllEffects(): Promise<unknown>
  • 恢复播放所有音效文件。

    note
    • 请在房间内调用该方法。
    • 可能返回的错误码同 resumeEffect 一致
    since

    V4.3.0

    Returns Promise<unknown>

resumeAudioMixing

  • resumeAudioMixing(): undefined | Promise<void>
  • 恢复播放音乐文件。

    请在房间内调用该方法。

    Returns undefined | Promise<void>

resumeEffect

  • resumeEffect(soundId: number): Promise<unknown>
  • 恢复播放指定音效文件。

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Parameters

    • soundId: number

      指定音效的 ID。每个音效均有唯一的 ID。正整数,取值范围为 [1,10000]。

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.resumeEffect :soundId": soundId 参数格式错误

setAudioMixingPosition

  • setAudioMixingPosition(playStartTime: number): Promise<unknown>
  • 设置音乐文件的播放位置。

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

    Parameters

    • playStartTime: number

      音乐文件的播放位置,单位为毫秒。

    Returns Promise<unknown>

setAudioOutput

  • setAudioOutput(deviceId: string, callback: (err: any) => void): Promise<void>
  • 设置订阅流的音频输出设备。

    该方法可以在语音场景下设置订阅流的音频输出设备,在通话时切换扬声器。在播放订阅流之前或之后都可以调用该方法。

    note
    • 在播放订阅流之前或之后都可以调用该方法。
    • 目前只有 Chrome 浏览器支持该方法。

    Parameters

    • deviceId: string

      设备的 ID,可以通过 getDevices 方法获取。获取的 ID 为 ASCII 字符,字符串长度大于 0 小于 256 字节。

    • callback: (err: any) => void
        • (err: any): void
        • Parameters

          • err: any

          Returns void

    Returns Promise<void>

setAudioProfile

  • setAudioProfile(profile: string): void
  • 设置音频属性。

    Parameters

    • profile: string

      要设置的音频的属性类型,可设置为:

      • speech_low_quality(表示16 kHz 采样率,单声道,编码码率约 24 Kbps)
      • speech_standard(表示32 kHz 采样率,单声道,编码码率约 24 Kbps)
      • music_standard(表示48 kHz 采样率,单声道,编码码率约 40 Kbps)
      • standard_stereo(表达48 kHz 采样率,双声道,编码码率约 64 Kbps)
      • high_quality(表示48 kHz 采样率,单声道, 编码码率约 128 Kbps)
      • high_quality_stereo(表示48 kHz 采样率,双声道,编码码率约 192 Kbps)

    Returns void

setAudioVolume

  • setAudioVolume(volume?: number): undefined | string
  • 设置音频播放的音量。

    Parameters

    • Optional volume: number

      要设置的远端音频的播放音量,范围为 [0-100]。0 表示静音。

    Returns undefined | string

setCanvasWatermarkConfigs

  • 添加视频画布水印。

    note

    setCanvasWatermarkConfigs 方法作用于本地视频画布,不影响视频流。视频流截图时,图片中不包含水印。

    Parameters

    • options: NERtcCanvasWatermarkConfig

      画布水印设置。支持设置文字水印、图片水印和时间戳水印,设置为 null 表示清除水印。

    Returns void

setCaptureVolume

  • setCaptureVolume(volume: number): undefined | string
  • 设置麦克风采集的音量。

    Parameters

    • volume: number

      要设置的麦克风采集音量。范围为 [0-100]。0 表示静音。

    Returns undefined | string

setEffectsVolume

  • setEffectsVolume(volume: number): void
  • 设置所有音效文件播放音量。

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Parameters

    • volume: number

      音效音量。整数,范围为 [0,100]。默认 100 为原始文件音量。

    Returns void

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "Stream.setEffectsVolume:volume": volume 参数格式错误
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能

setLocalRenderMode

  • setLocalRenderMode(options: RenderMode, mediaType?: "audio" | "video" | "screen"): undefined | "INVALID_ARGUMENTS"
  • 设置本地视频画布。

    该方法设置本地视频画布。只影响本地用户看到的视频画面,不影响远端。

    Parameters

    • options: RenderMode

      配置对象。

    • Optional mediaType: "audio" | "video" | "screen"

      媒体流类型。即指定设置的是摄像头画面还是屏幕共享画面。

    Returns undefined | "INVALID_ARGUMENTS"

setRemoteRenderMode

  • setRemoteRenderMode(options: RenderMode, mediaType?: "audio" | "video" | "screen"): void
  • 设置远端视频画布。

    该方法绑定远端用户和显示视图,只影响本地用户看到的视频画面。退出房间后,SDK 会清除远端用户和视图的绑定关系。

    Parameters

    • options: RenderMode

      配置对象。

    • Optional mediaType: "audio" | "video" | "screen"

      媒体流类型。即指定设置的是摄像头画面还是屏幕共享画面。

    Returns void

setScreenProfile

  • 设置屏幕共享中的屏幕属性。

    该方法设置屏幕共享时屏幕的显示属性,必须在 Stream.init 之前调用。

    note

    该方法仅可对本地流调用。

    Parameters

    Returns void

setSubscribeConfig

  • setSubscribeConfig(subscribeOptions: { audio?: boolean; highOrLow?: number; screen?: boolean; video?: boolean }): void
  • 设置视频订阅的参数。

    Parameters

    • subscribeOptions: { audio?: boolean; highOrLow?: number; screen?: boolean; video?: boolean }

      配置参数。

      • Optional audio?: boolean

        是否订阅音频。

      • Optional highOrLow?: number

        订阅大流或小流。

        0 表示小流,1 表示大流。

      • Optional screen?: boolean

        是否订阅屏幕共享。

      • Optional video?: boolean

        是否订阅视频。

    Returns void

setVideoProfile

setVolumeOfEffect

  • setVolumeOfEffect(soundId: number): Promise<unknown>
  • 调节指定音效文件的音量。

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Parameters

    • soundId: number

      指定音效的 ID。每个音效均有唯一的 ID。正整数,取值范围为 [1,10000]。

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.setVolumeOfEffect:soundId": 参数格式错误
    • "Stream.setVolumeOfEffect:volume": 参数格式错误

startAudioMixing

  • startAudioMixing(options: { audioFilePath: string; auidoMixingEnd: null | (() => void); cycle: number; loopback: boolean; playStartTime: number; replace: boolean; volume?: number }): undefined | Promise<unknown>
  • 开始播放音乐文件。

    该方法指定在线音频文件和麦克风采集的音频流进行混音或替换,即用音频文件替换麦克风采集的音频流。

    note

    请在加入房间并启动麦克风之后使用该方法。

    Parameters

    • options: { audioFilePath: string; auidoMixingEnd: null | (() => void); cycle: number; loopback: boolean; playStartTime: number; replace: boolean; volume?: number }

      混音设置。

      • audioFilePath: string

        必选,在线音乐文件的 URL 地址。

        note

        目前仅支持在线音频文件,格式一般为 MP3 等浏览器支持的音频文件类型。

      • auidoMixingEnd: null | (() => void)

        可选,伴音文件播放完成的通知反馈。正常停止伴音或关掉通话获取其他原因停止伴音不会触发。

      • cycle: number

        可选,指定音频文件循环播放的次数。

        note
        • 通过 cycle 指定循环播放次数时,需要同时指定 loopback 参数置为 true。如果 loopback 为 false,该参数不生效。
        • cycle 默认为 0,表示无限循环播放,直至调用 stopAudioMixing 后停止。
      • loopback: boolean

        是否循环播放音频文件,默认为 false。

        • true:循环播放音频文件。此时可通过 cycle 设置循环播放次数,cycle 默认为 0,表示无限循环播放。
        • false:(默认值)关闭无限循环播放。
      • playStartTime: number

        可选,设置音频文件开始播放的时间位置,单位为秒(s)。默认为 0,即从头开始播放。

      • replace: boolean

        可选,是否要用音频文件替换本地音频流。

        • true:音频文件内容将会替换本地录音的音频流。
        • false:(默认值)音频文件内容将会和麦克风采集的音频流进行混音。
      • Optional volume?: number

        可选,音乐文件的播放音量,取值范围为 0~100。默认为 100,表示使用文件的原始音量。

        note

        若您在通话中途修改了音量设置,则当前通话中再次调用时默认沿用此设置。

    Returns undefined | Promise<unknown>

startMediaRecording

  • startMediaRecording(mediaRecordingOptions: { reset: boolean; type: string }): Promise<undefined | string>
  • 开启单人视频录制。

    Parameters

    • mediaRecordingOptions: { reset: boolean; type: string }

      参数对象。

      • reset: boolean

        如果之前的录制视频未下载,是否重置,默认 false。

      • type: string

        流类型,即 'audio'、'video' 或 'screen'。

    Returns Promise<undefined | string>

stop

  • stop(type?: "audio" | "video" | "screen"): void
  • 停止音视频流。

    该方法用于停止播放 Stream.play 播放的音视频流。

    Parameters

    • Optional type: "audio" | "video" | "screen"

    Returns void

stopAllEffects

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

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.playEffect:soundId":soundId参数格式错误

stopAudioMixing

  • stopAudioMixing(): Promise<void>
  • 停止播放音乐文件。

    请在房间内调用该方法。

    Returns Promise<void>

stopEffect

  • stopEffect(soundId: number): Promise<unknown>
  • 停止播放指定音效文件。

    since

    V4.3.0

    note

    请在房间内调用该方法。

    Parameters

    • soundId: number

      指定音效的 ID。每个音效均有唯一的 ID。正整数,取值范围为 [1,10000]。

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.playEffect:soundId":soundId参数格式错误

stopMediaRecording

  • stopMediaRecording(options: { recordId?: string }): Promise<unknown>
  • 结束视频录制。

    Parameters

    • options: { recordId?: string }

      参数对象。

      • Optional recordId?: string

        录制 ID。可以通过 listMediaRecording 接口获取。

    Returns Promise<unknown>

switchDevice

  • switchDevice(type: string, deviceId: string): Promise<void>
  • 切换媒体输入设备。

    该方法用于切换本地流的媒体输入设备,例如麦克风等音频输入设备,摄像头等视频输出设备。

    note

    已经发布的流,切换后不用重新发流。

    Parameters

    • type: string

      设备的类型。

      • "audio": 音频输入设备
      • "video": 视频输入设备
    • deviceId: string

      设备的 ID,可以通过 getDevices 方法获取。获取的 ID 为 ASCII 字符,字符串长度大于 0 小于 256 字节。

    Returns Promise<void>

takeSnapshot

  • takeSnapshot(options: { mediaType?: "audio" | "video" | "screen"; name: string; uid: number }): Promise<undefined | "INVALID_OPERATION">
  • 截取指定用户的视频流画面。

    截图文件保存在浏览器默认路径下。

    note
    • 本地视频流截图,需要在 Client.join 并 Client.publish 发布流成功之后调用。
    • 远端视频流截图,需要在 Client.subscribe 订阅远端视频流之后调用。
    • 同时设置文字、时间戳或图片水印时,如果不同类型的水印位置有重叠,会按照图片、文本、时间戳的顺序进行图层覆盖。

    Parameters

    • options: { mediaType?: "audio" | "video" | "screen"; name: string; uid: number }
      • Optional mediaType?: "audio" | "video" | "screen"

        截图的视频流类型。

      • name: string

        截图文件名称,默认格式为 uid-1。

      • uid: number

        用户 ID。

    Returns Promise<undefined | "INVALID_OPERATION">

unloadEffect

  • unloadEffect(soundId: number): Promise<unknown>
  • 释放指定音效文件。

    该方法从内存释放某个预加载的音效文件,以节省内存占用。

    note

    请在房间内调用该方法。

    since

    V4.3.0

    Parameters

    • soundId: number

      指定音效的 ID。每个音效均有唯一的 ID。正整数,取值范围为 [1,10000]。

    Returns Promise<unknown>

    可能返回的错误码:

    • "BROWSER_NOT_SUPPORT": 浏览器不支持
    • "SOUND_NOT_EXISTS": soundId指定的音效文件不存在
    • "INVALID_OPERATION": 非法操作,可以查看console日志得到原因,一般是状态原因,如此时应处于播放、暂停状态,不能使用
    • "No MediaHelper": localStream没有init()初始化,无法使用音效功能
    • "Stream.unloadEffect:soundId": 参数格式错误

unmuteAudio

  • unmuteAudio(): Promise<void>
  • 启用音频轨道。

    Returns Promise<void>

unmuteScreen

  • unmuteScreen(): Promise<void>
  • 启用屏幕共享轨道。

    如果您调用了 muteScreen,可调用本方法启用屏幕共享轨道。远端会触发 Client.on("ummute-screen") 回调。

    Returns Promise<void>

unmuteVideo

  • unmuteVideo(): Promise<void>
  • 启用视频轨道。

    视频轨道默认为开启状态。如果您调用了 muteVideo,可调用本方法启用视频轨道。

    对本地流启用视频轨道后远端会触发 Client.on("unmute-video") 回调。

    note

    对于本地创建的流,在 createStream 时将 video 设置为 true 才可使用该方法。

    Returns Promise<void>