实时音视频

  • 实时音视频 > API 文档 > Android >QNCameraVideoTrack

    QNCameraVideoTrack

    最近更新时间: 2024-10-23 16:17:53

    本地视频相机 Track 类,可通过 QNRTC.createCameraVideoTrack 方式创建该 Track 对象
    Hierarchy
    Index
    Core Methods
    Core Methods
    getTrackID
    • String getTrackID()
    • 获取 TrackID,仅当发布成功后,才可以获取到有效的 TrackID

      Returns String
    getUserID
    • String getUserID()
    • 获取 UserID

      Returns String
    getTag
    • String getTag()
    • 获取 Tag

      Returns String
    isAudio
    • boolean isAudio()
    • 是否为音频 Track

      Returns boolean
    isVideo
    • boolean isVideo()
    • 是否为视频 Track

      Returns boolean
    isMuted
    • boolean isMuted()
    • 该 Track 是否处于静默状态

      Returns boolean
    setMuted
    • void setMuted(boolean muted)
    • 设置是否静默该 track,静默后,SDK 将会发送静默帧数据

      当静默状态改变后,远端用户将会收到 QNTrackInfoChangedListener.onMuteStateChanged 的回调

      Parameters
      • muted: boolean

        是否静默

    destroy
    • void destroy()
    • 销毁本地创建的 Track

    sendSEI[1/4]
    • void sendSEI(String message, int repeatCount)
    • 发送 SEI

      1. SEI 信息会携带到视频的编码数据中,在 CDN 转推 场景下,Track 处于正常发布状态时,调用该接口后,观众端即可使用支持解析 SEI 的播放器来获取对应的 SEI 信息。

      2. 单路流转推和多路流合流转推在发送 SEI 信息的使用姿势上存在差异,详情可参考 SEI 发送指南

      该接口已废弃, 请使用 int sendSEI(byte[] message, int repeatCount)

      Parameters
      • message: String

        消息内容

      • repeatCount: int

        重复次数,-1 为每一帧都发送

    sendSEI[2/4]
    • void sendSEI(String message, byte[] uuid, int repeatCount)
    • 发送 SEI

      1. SEI 信息会携带到视频的编码数据中,在 CDN 转推 场景下,Track 处于正常发布状态时,调用该接口后,观众端即可使用支持解析 SEI 的播放器来获取对应的 SEI 信息。

      2. 单路流转推和多路流合流转推在发送 SEI 信息的使用姿势上存在差异,详情可参考 SEI 发送指南

      该接口已废弃, 请使用 int sendSEI(byte[] message, byte[] uuid, int repeatCount)

      Parameters
      • message: String

        消息内容

      • uuid: byte[]

        唯一 ID;必须为 16 个字节

      • repeatCount: int

        重复次数,-1 为每一帧都发送

    sendSEI[3/4]
    • int sendSEI(byte[] message, int repeatCount)
    • 发送 SEI

      1. SEI 信息会携带到视频的编码数据中,在 CDN 转推 场景下,Track 处于正常发布状态时,调用该接口后,观众端即可使用支持解析 SEI 的播放器来获取对应的 SEI 信息。

      2. 单路流转推和多路流合流转推在发送 SEI 信息的使用姿势上存在差异,详情可参考 SEI 发送指南

      Parameters
      • message: byte[]

        消息内容;最多为 4096 字节

      • repeatCount: int

        重复次数

      Returns 调用返回值,详见 QNErrorCode
    sendSEI[4/4]
    • int sendSEI(byte[] message, byte[] uuid, int repeatCount)
    • 发送 SEI

      1. SEI 信息会携带到视频的编码数据中,在 CDN 转推 场景下,Track 处于正常发布状态时,调用该接口后,观众端即可使用支持解析 SEI 的播放器来获取对应的 SEI 信息。

      2. 单路流转推和多路流合流转推在发送 SEI 信息的使用姿势上存在差异,详情可参考 SEI 发送指南

      Parameters
      • message: byte[];最多为 4096 字节

        消息内容

      • uuid: byte[]

        唯一 ID;必须为 16 个字节

      • repeatCount: int

        重复次数

      Returns 调用返回值,详见 QNErrorCode
    setVideoEncoderConfig
    • void setVideoEncoderConfig(QNVideoEncoderConfig config)
    • 动态修改视频 Track 的编码参数(分辨率、帧率、码率等)

      1. 该接口用于在通话过程中动态修改视频的编码参数,若您无需修改,可在创建视频 Track 时通过对应的 TrackConfig 直接指定编码参数

      2. 建议修改时目标编码分辨率小于采集的分辨率。当目标编码分辨率大于采集分辨率时,SDK 会基于采集分辨率裁剪输出一个和目标编码分辨率宽高比相匹配,但小于等于采集分辨率的参数

      Parameters
    setVideoFrameListener
    play
    startCapture
    • void startCapture()
    • 开始相机采集

    stopCapture
    • void stopCapture()
    • 停止相机采集

    switchCamera
    turnLightOn
    • boolean turnLightOn()
    • 开启闪光灯

      Returns boolean
    turnLightOff
    • boolean turnLightOff()
    • 关闭闪光灯

      Returns boolean
    manualFocus
    • void manualFocus(float x, float y, int viewWidth, int viewHeight)
    • 手动聚焦

      对于前置摄像头,大部分机型并不支持手动对焦,因此,请勿调用该接口,否则会抛异常

      Parameters
      • x: float

        焦点 x 相对窗口宽度的绝对坐标

      • y: float

        焦点 y 相对窗口高度的绝对坐标

      • viewWidth: int

        窗口的宽度

      • viewHeight: int

        窗口的高度

    setExposureCompensation
    • void setExposureCompensation(int value)
    • 设置曝光度

      曝光度的有效值范围是从 getMinExposureCompensationgetMaxExposureCompensation。因此,设置曝光度前需获取到当前设备支持调整的曝光范围,若获取到的数值均是 0,则设备不支持曝光补偿。

      Parameters
      • value: int

        曝光度

    getMaxExposureCompensation
    • int getMaxExposureCompensation()
    • 获取最大曝光度

      若该接口和 getMinExposureCompensation 均返回 0,则当前设备不支持曝光度调整

      Returns int
    getMinExposureCompensation
    • int getMinExposureCompensation()
    • 获取最小曝光度

      若该接口和 getMaxExposureCompensation 均返回 0,则当前设备不支持曝光度调整

      Returns int
    setZoom
    • void setZoom(float zoom)
    • 设置缩放大小

      缩放大小的有效参数需要从 getZooms 接口中获取,其他参数将会导致设置失效

      Parameters
      • zoom: float

        缩放大小

    getZooms
    • List<Float> getZooms()
    • 获取支持的缩放大小列表

      若接口返回 null 则代表当前设备不支持缩放

      Returns List<Float>
    setMirror
    • void setMirror(boolean mirror)
    • 设置是否镜像

      通过该接口设置镜像后,会同时影响预览和编码的数据,产生镜像的效果

      Parameters
      • mirror: boolean

        是否镜像

    setPreviewEnabled
    • void setPreviewEnabled(boolean isEnabled)
    • 设置是否允许预览

      Parameters
      • isEnabled: boolean

        是否允许预览

    setBeauty
    • void setBeauty(QNBeautySetting beautySetting)
    • 设置/更新内置美颜相关参数配置

      内置美颜可通过 QNBeautySetting.setEnable 接口进行开启/关闭

      若不使用内置美颜的相关配置,则可以不用导入 libqndroid_beauty.so

      Parameters
    pushImage
    • int pushImage(QNImage image)
    • 使用图片替代摄像头采集的视频数据,返回值代表接口调用是否成功,若接口调用成功,但是图片推流失败,将会通过 QNCameraEventListener.onPushImageError 接口回调相关错误。

      接口返回值定义如下:

      code describe message
      SUCCESS 接口调用成功
      ERROR_INVALID_PARAMETER 参数错误 请检查 QNImage 是否传入了合法资源路径
      Parameters
      Returns int
    setWaterMark
    clearWaterMark
    • void clearWaterMark()
    • 清空水印配置

    setCameraEventListener
    • void setCameraEventListener(QNCameraEventListener listener)
    • 设置相机事件监听

      该监听可用于选择实际的采集参数,监听摄像头生命周期以及相关错误回调

      Parameters
    以上内容是否对您有帮助?
  • Qvm free helper
    Close