SkillAgentSearch skills...

AndroidUSBCamera

Android USB Camera

Install / Use

/learn @suethan/AndroidUSBCamera
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

AndroidUSBCamera

android usb camera on non-rooted Android devices.<br/> 在Android设备上使用外接usb摄像头的项目,无需root权限。

<h2>use step:</h2> <h3>1.init view and camera</h3>
mCameraView.setAspectRatio(PREVIEW_WIDTH / (float)PREVIEW_HEIGHT);

camera = new USBCamera();
camera.init(this);
camera.setCameraType(CameraType.C3D_SBS);
<h3>2. start preview</h3>
    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();
        }
    }
<h3>3. captureStill</h3>
    if(camera.isCameraOpened()){
        Toast.makeText(USBCameraActivity.this, "Captured", Toast.LENGTH_SHORT).show();
        camera.captureStill();
    }
<h3>4. recording </h3>
    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();
    }
<h3>5. stop</h3>
    if(camera.isCameraOpened()){
       camera.close();
    }
<h3>6. destory</h3>
camera.destroy();
<h2>Refer</h2> http://bigflake.com/mediacodec/ <h2>注意:</h2>
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)
<h2>Todo</h2>
1.同时录制视频和声音。
    需要常见的宽高比例,如果是双摄像头,目前简易做法,camera.setCameraType(CameraType.C3D_SBS),将全宽图片压缩为半宽。
2.编写Camera应用,测试插件。
3.优化压缩方式。
4.支持多种预览方式。
5.支持两种拍摄和录制方式
    原始数据。
    预览画面显示的数据。

Related Skills

View on GitHub
GitHub Stars45
CategoryDevelopment
Updated11mo ago
Forks16

Languages

C

Security Score

62/100

Audited on May 5, 2025

No findings