QNScreenVideoTrack
屏幕录制 Track 的创建需要发起系统屏幕录制的申请,具体使用姿势请参考屏幕录制 Track 使用指南。
- String getTrackID()
-
获取 TrackID,仅当发布成功后,才可以获取到有效的 TrackID
Returns String
- String getUserID()
-
获取 UserID
Returns String
- String getTag()
-
获取 Tag
Returns String
- boolean isAudio()
-
是否为音频 Track
Returns boolean
- boolean isVideo()
-
是否为视频 Track
Returns boolean
- boolean isMuted()
-
该 Track 是否处于静默状态
Returns boolean
- void setMuted(boolean muted)
-
设置是否静默该 track,静默后,SDK 将会发送静默帧数据
当静默状态改变后,远端用户将会收到 QNTrackInfoChangedListener.onMuteStateChanged 的回调
Parameters-
muted: boolean
是否静默
-
- void destroy()
-
销毁本地创建的 Track
- 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 为每一帧都发送
-
- 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 为每一帧都发送
-
- int sendSEI(byte[] message, int repeatCount)
-
发送 SEI
1. SEI 信息会携带到视频的编码数据中,在 CDN 转推 场景下,Track 处于正常发布状态时,调用该接口后,观众端即可使用支持解析 SEI 的播放器来获取对应的 SEI 信息。
2. 单路流转推和多路流合流转推在发送 SEI 信息的使用姿势上存在差异,详情可参考 SEI 发送指南
Parameters-
message: byte[]
消息内容;最多为 4096 字节
-
repeatCount: int
重复次数
Returns 调用返回值,详见 QNErrorCode -
- 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 -
- void setVideoEncoderConfig(QNVideoEncoderConfig config)
-
动态修改视频 Track 的编码参数(分辨率、帧率、码率等)
1. 该接口用于在通话过程中动态修改视频的编码参数,若您无需修改,可在创建视频 Track 时通过对应的 TrackConfig 直接指定编码参数
2. 建议修改时目标编码分辨率小于采集的分辨率。当目标编码分辨率大于采集分辨率时,SDK 会基于采集分辨率裁剪输出一个和目标编码分辨率宽高比相匹配,但小于等于采集分辨率的参数
Parameters-
config: QNVideoEncoderConfig
目标编码配置
-
- void setVideoFrameListener(QNVideoFrameListener listener)
-
设置视频数据监听
Parameters-
listener: QNVideoFrameListener
视频数据监听接口
-
- void play(QNRenderView view)
-
设置预览窗口
Parameters-
view: QNRenderView
预览窗口
-
- static boolean requestPermission(Activity activity)
-
请求录屏权限,成功发起申请返回成功,否则返回失败
在 API < 21 的时候会返回失败,Android 从 API 21 才开始支持录屏
Parameters-
activity: Activity
Android Activity 对象
Returns boolean -
- static boolean isScreenCaptureSupported()
-
当前设备是否支持屏幕采集
Returns boolean
- static boolean checkActivityResult(int requestCode, int resultCode, Intent data)
-
处理权限请求返回的结果
1. 请先重写 (Override) Activity 中的 onActivityResult 方法
2. 若监听到 requestCode 等于 QNScreenCaptureUtil.SCREEN_CAPTURE_PERMISSION_REQUEST_CODE 则证明本次回调包含申请屏幕录制的结果,此时可调用本方法将参数传入 SDK,SDK 将判断用户是否授权屏幕录制
3. 若本接口调用返回 true,则代表用户同意屏幕录制,此时创建屏幕录制 Track 即可
Parameters-
requestCode: int
请求 code
-
resultCode: int
权限请求返回的 code
-
data: Intent
权限请求返回的数据
Returns boolean -