91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

Android攝像頭預(yù)覽功能的實(shí)現(xiàn),主要是通過JNI實(shí)現(xiàn)相關(guān)功能

資源截圖

代碼片段和文件信息


#include?“Camera.h“
#include?“com_CES_usbcamera_Camera.h“

int?camera_fd?=?-1;
int?camera_base?=?0;
int?flag_init?=?0;
int?flag_preview?=?0;
int?Y[256]?VR[256]?VG[256]?UG[256]?UB[256];

struct?Buffer?*buffers?=?NULL;
int?n_buffers?=?0;


int?initCamera()
{
if(flag_init)
return?SUCCESS_LOCAL;

DIR?*d;
struct?dirent?*de;
char?*path?=?DEVICE_PATH;
char?name[255];

int?fd;
struct?v4l2_capability?cap;

d?=?opendir(path);
if(d?==?0)?{
PRINT_ERROR(“opendir?failed“);
return?ERROR_LOCAL;
}

while((de?=?readdir(d))?!=?0){
if?(!memcmp(de->d_name?DEVICE_PREFIX_NAME?5))?{
if(de->d_name[5]?==?‘\0‘?||?de->d_name[5]?se)
continue;

memset(name?0?sizeof(name));
strcpy(name?path);
strcat(name?de->d_name);
LOGI(“Get?device:?%s“?name);

fd?=?open?(name?O_RDWR);
if(fd? PRINT_ERROR(“open?failed“);
continue;
}

memset(&cap?0?sizeof(cap));
if?(ioctl(fd?VIDIOC_QUERYCAP?&cap)? PRINT_ERROR(“VIDIOC_QUERYCAP“);
close(fd);
continue;
}
if?(!(cap.capabilities?&?V4L2_CAP_VIDEO_CAPTURE))?{
LOGE(“%s?is?no?V4L2?device“?name);
close(fd);
continue;
}
if?(!(cap.capabilities?&?V4L2_CAP_STREAMING))?{
LOGE(“%s?does?not?support?streaming?i/o“?name);
close(fd);
continue;
}

initYUV();
camera_fd?=?fd;
// setCamera(V4L2_CID_BRIGHTNESS?-20);
// setCamera(V4L2_CID_CONTRAST?20);
// setCamera(V4L2_CID_SATURATION?50);

flag_init?=?1;
return?SUCCESS_LOCAL;
}
}

closedir(d);
flag_init?=?0;
return?ERROR_LOCAL;
}

void?deinitCamera()
{
if(!flag_init)
return;

if(flag_init)
close(camera_fd);
flag_init?=?0;
}

int?setCamera(int?id?int?value)
{
// struct?v4l2_cropcap?cropcap;
// struct?v4l2_crop?crop;
struct?v4l2_queryctrl?qctrl;
struct?v4l2_control?ctrl;
/*
memset(&cropcap?0?sizeof(cropcap));
cropcap.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
if?(0?==?ioctl?(camera_fd?VIDIOC_CROPCAP?&cropcap))?{
crop.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
crop.c?=?cropcap.defrect;
ioctl?(camera_fd?VIDIOC_S_CROP?&crop);
LOGI(“VIDIOC_CROPCAP“);
}
*/
qctrl.id?=?id;
if?(ioctl(camera_fd?VIDIOC_QUERYCTRL?&qctrl)?==?0)?{
ctrl.id?=?qctrl.id;
ctrl.value?=?value;
ioctl(camera_fd?VIDIOC_S_CTRL?&ctrl);

ctrl.id?=?qctrl.id;
if?(ioctl(camera_fd?VIDIOC_G_CTRL?&ctrl)? PRINT_ERROR(“VIDIOC_G_CTRL“);
return?-1;
}
LOGI(“%-14s?:?id=%08x?type=%d?minimum=%d?maximum=%d\n“
“\t\t?value?=?%d?step=%d?default_value=%d\n“
qctrl.name?qctrl.id?qctrl.type?qctrl.minimum?qctrl.maximum
ctrl.value?qctrl.step?qctrl.default_value);
return?0;
}
return?-1;
}

int?startPreview()
{
if(flag_preview)
return?SUCCESS_LOCAL;

struct?v4l2_format?fmt;
struct?v4l2_fmtdesc?fmtdesc;
struct?v4l2_requestbuffers?req;
enum?v4l2_buf_type?type;
int?i?found?=?0;

memset

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-04-20?08:57??USBCamera\
?????文件?????????356??2013-05-17?15:11??USBCamera\.classpath
?????文件????????1185??2013-09-18?11:31??USBCamera\.project
?????文件????????1613??2013-11-28?14:56??USBCamera\AndroidManifest.xml
?????目錄???????????0??2016-12-14?15:37??USBCamera\assets\
?????目錄???????????0??2014-05-07?18:16??USBCamera\bin\
?????文件??????218968??2013-11-28?11:39??USBCamera\bin\USBCamera.apk
?????文件???????51394??2013-05-17?11:29??USBCamera\ic_launcher-web.png
?????目錄???????????0??2016-04-20?08:57??USBCamera\jni\
?????文件?????????784??2013-07-29?17:03??USBCamera\jni\Android.mk
?????文件???????10429??2013-09-23?11:28??USBCamera\jni\Camera.c
?????文件????????2144??2013-09-21?10:28??USBCamera\jni\Camera.h
?????文件?????????913??2013-07-31?15:53??USBCamera\jni\com_CES_usbcamera_Camera.h
?????目錄???????????0??2014-05-07?17:28??USBCamera\libs\
?????文件??????393154??2013-05-17?11:29??USBCamera\libs\android-support-v4.jar
?????目錄???????????0??2016-04-20?08:57??USBCamera\libs\armeabi\
?????文件???????17532??2013-11-28?10:02??USBCamera\libs\armeabi\libCameraJni.so
?????文件?????????781??2013-05-17?11:29??USBCamera\proguard-project.txt
?????文件?????????563??2013-07-29?13:53??USBCamera\project.properties
?????目錄???????????0??2014-05-07?17:28??USBCamera\res\
?????目錄???????????0??2014-05-07?17:28??USBCamera\res\drawable-hdpi\
?????文件?????????928??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_charge_1.png
?????文件????????1077??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_charge_2.png
?????文件????????1130??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_charge_3.png
?????文件????????1177??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_charge_4.png
?????文件????????1176??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_charge_5.png
?????文件????????1378??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_charge_6.png
?????文件????????1281??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_full.png
?????文件????????3928??2013-11-27?18:17??USBCamera\res\drawable-hdpi\battery_low.png
?????文件?????????516??2013-11-27?13:55??USBCamera\res\drawable-hdpi\battery_unknown.png
?????文件????????4270??2013-07-27?10:18??USBCamera\res\drawable-hdpi\ic_launcher.png
............此處省略32個(gè)文件信息

評(píng)論

共有 條評(píng)論