human: 如何处理七牛云的实时音视频QNCameraVideoTrack

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Windows
>QNCameraVideoTrack

#  QNCameraVideoTrack

最近更新时间: 2022-03-23 21:54:41

本地视频相机 Track 类

Hierarchy

  * [QNTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9452/QNTrack)
    * [QNLocalTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9422/QNLocalTrack)
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9424/QNLocalVideoTrack)
        * QNCameraVideoTrack 
        * [QNScreenVideoTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9448/QNScreenVideoTrack)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9412/QNCustomVideoTrack)
      * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9420/QNLocalAudioTrack)
        * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9433/QNMicrophoneAudioTrack)
        * [QNCustomAudioTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9409/QNCustomAudioTrack)
    * [QNRemoteTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9440/QNRemoteTrack)
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9443/QNRemoteVideoTrack)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/9404/qncameravideotrack/9438/QNRemoteAudioTrack)

Index

Core Methods

  * GetTrackID
  * GetUserID
  * GetTag
  * IsAudio
  * IsVideo
  * IsMuted
  * SetMuted
  * SetVideoFrameListener
  * Play
  * SendSEI
  * StartCrop
  * StopCrop
  * StartScale
  * StopScale
  * StartCapture
  * StopCapture
  * SetMirror
  * PushImage

Core Methods

GetTrackID

  * virtual const std::string& GetTrackID() = 0
  * 获取 TrackID

Returns string

GetUserID

  * virtual const std::string& GetUserID() = 0
  * 获取 UserID

Returns string

GetTag

  * virtual const std::string& GetTag() = 0
  * 获取 Tag

Returns string

IsAudio

  * virtual bool IsAudio() = 0
  * 是否为音频 track

Returns bool

IsVideo

  * virtual bool IsVideo() = 0
  * 是否为视频 track

Returns bool

IsMuted

  * virtual bool IsMuted() = 0
  * 是否 muted

Returns bool

SetMuted

  * virtual void SetMuted(bool muted) = 0
  * 设置是否静默该 track，静默后，SDK 将会发送静默帧数据

Parameters

    * muted: bool 

是否静默

SetVideoFrameListener

  * virtual void SetVideoFrameListener([QNVideoFrameListener](https://developer.qiniu.com/rtc/9404/qncameravideotrack/11326/QNVideoFrameListener)* listener) = 0
  * 设置视频数据监听

Parameters

    * listener: [QNVideoFrameListener](https://developer.qiniu.com/rtc/9404/qncameravideotrack/11326/QNVideoFrameListener)

视频数据监听接口

Play

  * virtual void Play(QNView& view) = 0
  * 设置本地渲染参数

Parameters

    * view: [QNView](https://developer.qiniu.com/rtc/9404/qncameravideotrack/11328/QNView)

渲染参数

SendSEI

  * virtual void SendSEI(std::string& message,std::string& uuid,int32_t repeat_count) = 0
  * 发送 SEI

Parameters

    * message: string 

消息内容

    * uuid: string 

唯一 ID

    * repeat_count: int 

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

StartCrop

  * virtual void StartCrop(uint32_t crop_x,uint32_t crop_y,int32_t crop_width,int32_t crop_height) = 0
  * 开启原始帧裁剪功能，设置参数要求如下，如果设置不正确，则输出原始图像

Parameters

    * crop_x: uint32_t 

开始裁减的 X 坐标点，原点为左上角，必须落在原图之内

    * crop_y: uint32_t 

开始裁减的 Y 坐标点，原点为左上角，必须落在原图之内

    * crop_width: int32_t 

目标图像宽度，必须为 4 的整数倍，如果是裁剪模式，crop_x和 crop_y，裁剪图像必须在原始图像之内

    * crop_height: int32_t 

目标图像高度，必须为 4 的整数倍，如果是裁剪模式，crop_x 和 crop_y，裁剪图像必须在原始图像之内

StopCrop

  * virtual void StopCrop() = 0
  * 关闭裁剪功能

StartScale

  * virtual void StartScale(int32_t dst_width, int32_t dst_height) = 0
  * 开启原始帧缩放功能，设置参数要求如下，如果设置不正确，则输出原始图像

Parameters

    * dst_width: int32_t 

目标图像宽度，必须为 4 的整数倍

    * dst_height: int32_t 

目标图像高度，必须为 4 的整数倍

StopScale

  * virtual void StopScale() = 0
  * 关闭缩放功能

StartCapture

  * virtual void StartCapture() = 0
  * 开启摄像头采集

StopCapture

  * virtual void StopCapture() = 0
  * 关闭摄像头采集

SetMirror

  * virtual void SetMirror(bool mirror) = 0
  * 设置本地采集画面是否镜像，开启镜像后，订阅端看到的是镜像画面

Parameters

    * mirror: bool 

是否镜像

PushImage

  * virtual void PushImage(void* object, [QNImageType](https://developer.qiniu.com/rtc/9404/qncameravideotrack/11329/QNImageType) type) = 0
  * 将摄像头采集流替换为图片流，此接口需要在摄像头推流成功后调用

Parameters

    * object: void* 

object 推送图片的对象，可以是文件对象、文件路径、url，Window 平台只支持文件路径, 设置为 nullptr
时，取消推送图片，关闭图片推送，恢复摄像头采集画面

    * type: [QNImageType](https://developer.qiniu.com/rtc/9404/qncameravideotrack/11329/QNImageType)

图片格式，Windows 平台只支持 kImagJpeg 时，关闭图片推送，恢复摄像头采集画面

以上内容是否对您有帮助？