音视频设备相关事件回调接口

提供音视频设备状态变化、视频渲染、音频路由等相关事件的回调方法

interface JRTCMediaDeviceCallback {
    onAudioError?: (error: string) => void;
    onAudioRouteTypeChanged?: (
        audioRouteType: JRTCMediaDeviceAudioRouteType,
    ) => void;
    onCameraUpdate?: () => void;
    onVideoCaptureDidStart?: (streamId: string, ratio: number) => void;
    onRenderReceived?: (streamId: string, ratio: number) => void;
    onRenderStart?: (streamId: string, ratio: number) => void;
    onRenderResized?: (streamId: string, ratio: number) => void;
    onScreenSharePermissionResult?: (result: boolean) => void;
    onVideoError?: (
        errorType: JRTCMediaDeviceVideoErrorType,
        errorDetail: string,
    ) => void;
    onSnapshotComplete?: (file: string, width: number, height: number) => void;
    onMemoryAvailable?: (memorySize: number) => void;
    onRingPlayFinish?: () => void;
    onFileAudioInputDidFinish?: () => void;
    onAudioInterruptAndResume?: (interrupt: boolean) => void;
    onTessarEvent?: (eventCode: number, extraInfo: string) => void;
}

Properties

onAudioError?: (error: string) => void

音频异常回调

Type declaration

    • (error: string): void
    • Parameters

      • error: string

        异常信息描述

      Returns void

onAudioRouteTypeChanged?: (
    audioRouteType: JRTCMediaDeviceAudioRouteType,
) => void

音频输出通道变化回调

Type declaration

onCameraUpdate?: () => void

摄像头状态变化回调

摄像头状态发生变化时会收到此回调,例如打开、关闭、切换摄像头

onVideoCaptureDidStart?: (streamId: string, ratio: number) => void

视频采集开始回调

Type declaration

    • (streamId: string, ratio: number): void
    • Parameters

      • streamId: string

        视频流ID

      • ratio: number

        视频宽高比

      Returns void

onRenderReceived?: (streamId: string, ratio: number) => void

收到第一帧视频数据回调

Type declaration

    • (streamId: string, ratio: number): void
    • Parameters

      • streamId: string

        视频流ID

      • ratio: number

        视频宽高比

      Returns void

onRenderStart?: (streamId: string, ratio: number) => void

视频渲染开始回调

Type declaration

    • (streamId: string, ratio: number): void
    • Parameters

      • streamId: string

        视频流ID

      • ratio: number

        视频宽高比

      Returns void

onRenderResized?: (streamId: string, ratio: number) => void

视频宽高比例变化回调

Type declaration

    • (streamId: string, ratio: number): void
    • Parameters

      • streamId: string

        视频流ID

      • ratio: number

        新的视频宽高比

      Returns void

onScreenSharePermissionResult?: (result: boolean) => void

屏幕采集权限申请结果回调

Type declaration

    • (result: boolean): void
    • Parameters

      • result: boolean

        权限申请结果

        • true: 用户同意授予权限
        • false: 用户拒绝授予权限

      Returns void

onVideoError?: (
    errorType: JRTCMediaDeviceVideoErrorType,
    errorDetail: string,
) => void

视频异常回调

Type declaration

包括摄像头采集错误、屏幕采集错误、视频渲染错误等

onSnapshotComplete?: (file: string, width: number, height: number) => void

截图完成回调

Type declaration

    • (file: string, width: number, height: number): void
    • Parameters

      • file: string

        截图文件保存路径

      • width: number

        截图像素宽度

      • height: number

        截图像素高度

      Returns void

onMemoryAvailable?: (memorySize: number) => void

设备剩余可用内存回调

Type declaration

    • (memorySize: number): void
    • Parameters

      • memorySize: number

        当前剩余可用内存空间,单位为 MB

      Returns void

周期性上报一次设备内存剩余情况

onRingPlayFinish?: () => void

铃声播放完成回调

onFileAudioInputDidFinish?: () => void

本地文件音频源输入完成回调

当使用本地文件作为音频输入源时,文件播放完成后触发此回调

onAudioInterruptAndResume?: (interrupt: boolean) => void

音频中断恢复

Type declaration

    • (interrupt: boolean): void
    • Parameters

      • interrupt: boolean

        true 表示中断

        • false 表示恢复

      Returns void

onTessarEvent?: (eventCode: number, extraInfo: string) => void

天赛事件上报回调

Type declaration

    • (eventCode: number, extraInfo: string): void
    • Parameters

      • eventCode: number

        天赛事件码

      • extraInfo: string

        事件附加信息

      Returns void

包含警告和错误事件