# 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.支持两种拍摄和录制方式
原始数据。
预览画面显示的数据。