Class ZegoScreenCaptureFactory
- java.lang.Object
-
- com.zego.zegoavkit2.ZegoVideoCaptureFactory
-
- com.zego.zegoavkit2.screencapture.ZegoScreenCaptureFactory
-
public class ZegoScreenCaptureFactory extends ZegoVideoCaptureFactory
简单的录屏工厂实现。
使用该工厂时,可通过系统提供的 MediaProjection 类完成录屏功能,常用于游戏直播等。
Copyright © 2016 Zego. All rights reserved.
-
-
Field Summary
Fields Modifier and Type Field Description static int
SCREEN_CAPTURE_SIZE_DEFAULT
表示默认的屏幕采集分辨率,即当前屏幕的实际分辨率,
-
Constructor Summary
Constructors Constructor Description ZegoScreenCaptureFactory(android.content.Context context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ZegoVideoCaptureDevice
create(java.lang.String device_id)
返回一个外部采集设备void
destroy(ZegoVideoCaptureDevice vc)
当某个外部采集设备不需要时,通知调用者释放设备占用的资源void
setCaptureResolution(int captureWidth, int captureHeight)
设置屏幕采集的分辨率,默认值为当前屏幕宽高。void
setMediaProjection(android.media.projection.MediaProjection mediaProjection)
-
-
-
Field Detail
-
SCREEN_CAPTURE_SIZE_DEFAULT
public static final int SCREEN_CAPTURE_SIZE_DEFAULT
表示默认的屏幕采集分辨率,即当前屏幕的实际分辨率,- See Also:
- Constant Field Values
-
-
Method Detail
-
create
public ZegoVideoCaptureDevice create(java.lang.String device_id)
Description copied from class:ZegoVideoCaptureFactory
返回一个外部采集设备注意:一定不能返回 null 对象,否则会崩溃。在 SDK 线程内执行,不要在其中直接调用 SDK 的接口,如有必要可切换线程后再调用。
- Specified by:
create
in classZegoVideoCaptureFactory
- Parameters:
device_id
- 设备 ID,用于标识一个唯一设备- Returns:
- 外部采集设备,不能为空对象
-
destroy
public void destroy(ZegoVideoCaptureDevice vc)
Description copied from class:ZegoVideoCaptureFactory
当某个外部采集设备不需要时,通知调用者释放设备占用的资源注意:在 SDK 线程内执行,不要在其中直接调用 SDK 的接口,如有必要可切换线程后再调用。
- Specified by:
destroy
in classZegoVideoCaptureFactory
- Parameters:
vc
- 外部采集设备
-
setMediaProjection
public void setMediaProjection(android.media.projection.MediaProjection mediaProjection)
-
setCaptureResolution
public void setCaptureResolution(int captureWidth, int captureHeight)
设置屏幕采集的分辨率,默认值为当前屏幕宽高。注意,如果设置的分辨率跟屏幕的分辨率比例不一致,会出现黑边的情况,建议使用默认值。 该功能是在4月9日官网版本上添加的,如果之前有使用了屏幕采集功能,并不想影响之前的效果,可以设置为之前的默认值 360*640
为了保证推流的画面不被拉伸,建议保持编码分辨率宽高比例跟屏幕宽高比例一致。默认情况下,SDK内部通过获取
Display
对象,并调用Display.getRealMetrics(DisplayMetrics)
确定屏幕采集的宽高 同时请保证编码分辨率的宽是16的倍数,否则硬编情况下,有可能出现画面不正常的情况。- Parameters:
captureWidth
- 屏幕采集的宽,默认值当前屏幕的宽captureHeight
- 屏幕采集的高,默认值当前屏幕的高
-
-