# AndroidUSBCamera-1 **Repository Path**: QY_windrises/AndroidUSBCamera-1 ## Basic Information - **Project Name**: AndroidUSBCamera-1 - **Description**: Android USB Camera - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-11-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AndroidUSBCamera android usb camera on non-rooted Android devices.
在Android设备上使用外接usb摄像头的项目,无需root权限。

use step:

1.init view and camera

mCameraView.setAspectRatio(PREVIEW_WIDTH / (float)PREVIEW_HEIGHT); camera = new USBCamera(); camera.init(this); camera.setCameraType(CameraType.C3D_SBS);

2. start preview

if(!camera.isCameraOpened()){ boolean ret = camera.open(0); if(!ret){ Toast.makeText(USBCameraActivity.this, "NO_USB_DEVICE", Toast.LENGTH_SHORT).show(); }else { camera.setPreviewSize(PREVIEW_WIDTH,PREVIEW_HEIGHT); camera.setPreviewTexture(mCameraView.getSurfaceTexture()); camera.startPreview(); } }

3. captureStill

if(camera.isCameraOpened()){ Toast.makeText(USBCameraActivity.this, "Captured", Toast.LENGTH_SHORT).show(); camera.captureStill(); }

4. recording

if(camera.isCameraOpened() && !camera.isRecording()){ Toast.makeText(USBCameraActivity.this, "startRecording", Toast.LENGTH_SHORT).show(); camera.startRecording(); } if(camera.isCameraOpened() && camera.isRecording()){ Toast.makeText(USBCameraActivity.this, "stopRecording", Toast.LENGTH_SHORT).show(); camera.stopRecording(); }

5. stop

if(camera.isCameraOpened()){ camera.close(); }

6. destory

camera.destroy();

Refer

http://bigflake.com/mediacodec/

注意:

PREVIEW_WIDTH、PREVIEW_HEIGHT的大小和外接摄像头,手机硬件编码器有关。 不合适的值,可能会发生错误。 常见值: 标清:480P 640*480 高清:720P 1280*720 超清:1080P 1920*1080 如果是双摄: 标清:480P 1280*480 高清:720P 2560*720 超清:1080P 3840*1080 并调用,camera.setCameraType(CameraType.C3D_SBS)

Todo

1.同时录制视频和声音。 需要常见的宽高比例,如果是双摄像头,目前简易做法,camera.setCameraType(CameraType.C3D_SBS),将全宽图片压缩为半宽。 2.编写Camera应用,测试插件。 3.优化压缩方式。 4.支持多种预览方式。 5.支持两种拍摄和录制方式 原始数据。 预览画面显示的数据。