UVC camera 封装类

本文介绍了一个用于处理UVC Camera的封装类,通过引用指定的aar库,可以简化接入和操作UVC摄像头的过程。在Android应用中,只需初始化类,绑定SurfaceView显示视频流,并在生命周期对应方法中调用onStart、onStop和release即可实现流畅的视频展示。
摘要由CSDN通过智能技术生成

下述代码是关于UVC camera处理的封装类,具体依赖的aar请参考https://github.com/saki4510t/UVCCamera

借用该类,在接入UVC 摄像头设备时可以很方便的进行使用,只需要在对应的Activity中,先初始化该类,绑定一个SurfaceView,便于展示摄像视频数据,再在onStart生命周期回调中调用onStart方法、onStop生命周期回调中调用onStop方法、在onDestroy生命周期回调中调用release即可。

public class UVCCameraManager {

    private static final String TAG = UVCCameraManager.class.getSimpleName();
    
    private final USBMonitor mUSBMonitor;
    private UVCCamera mUVCCamera;
    private SurfaceView mUVCCameraView;
    private Surface mPreviewSurface;
    private final Object mSync = new Object();
    private boolean isActive, isPreview;
    private final HandlerThreadHandler mWorkerHandler;
    private final Handler mUIHandler = new Handler(Looper.getMainLooper());
    private long mWorkerThreadID;

    public UVCCameraManager(@NonNull Context context, @NonNull SurfaceView surfaceView) {
        mUSBMonitor = new USBMonitor(context, mConnectListener);
        mWorkerHandler = HandlerThreadHandler.createHandler(TAG);
        mWorkerThreadID = mWorkerHandler.getLooper().getThread().getId();
        mUVCCameraView = surfaceView;
        mUVCCameraView.getHolder().addCallback(mSurfaceViewCallback);
    }

    public void onStart() {
        L.d(TAG, "onStart:");
        synchronized (mSync) {
            mUSBMonitor.register();
        }
    }

    public void onStop() {
        L.d(TAG, "onSt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值