【实例简介】
android USB调用摄像头,经过半月时间终于搞定了, 在网上找了好多,还有日文注释的 希望段友多多包涵,首先手机支持uvc 测试机 荣耀8. 我也是在网上找啊找,如何谁在学习接触这方面,共同学习,
【实例截图】
【核心代码】
UVCCdemo
└── UVCCdemo
├── AndroidManifest.xml
├── bin
│ ├── AndroidManifest.xml
│ ├── classes
│ │ └── com
│ │ └── serenegiant
│ │ ├── act
│ │ │ ├── MainActivity$1.class
│ │ │ ├── MainActivity$2$1.class
│ │ │ ├── MainActivity$2$2.class
│ │ │ ├── MainActivity$2.class
│ │ │ ├── MainActivity$3.class
│ │ │ └── MainActivity.class
│ │ ├── uitl
│ │ │ ├── BuildCheck.class
│ │ │ └── HandlerThreadHandler.class
│ │ ├── usb
│ │ │ ├── CameraDialog$1.class
│ │ │ ├── CameraDialog$2.class
│ │ │ ├── CameraDialog$CameraDialogParent.class
│ │ │ ├── CameraDialog$DeviceListAdapter.class
│ │ │ ├── CameraDialog.class
│ │ │ ├── DeviceFilter.class
│ │ │ ├── IButtonCallback.class
│ │ │ ├── IFrameCallback.class
│ │ │ ├── IStatusCallback.class
│ │ │ ├── Size$1.class
│ │ │ ├── Size.class
│ │ │ ├── USBMonitor$1.class
│ │ │ ├── USBMonitor$2$1.class
│ │ │ ├── USBMonitor$2.class
│ │ │ ├── USBMonitor$3.class
│ │ │ ├── USBMonitor$4.class
│ │ │ ├── USBMonitor$5.class
│ │ │ ├── USBMonitor$6.class
│ │ │ ├── USBMonitor$OnDeviceConnectListener.class
│ │ │ ├── USBMonitor$UsbControlBlock.class
│ │ │ ├── USBMonitor$UsbDeviceInfo.class
│ │ │ ├── USBMonitor.class
│ │ │ ├── USBVendorId.class
│ │ │ └── UVCCamera.class
│ │ └── uvccdemo
│ │ ├── BuildConfig.class
│ │ ├── R$attr.class
│ │ ├── R$dimen.class
│ │ ├── R$drawable.class
│ │ ├── R$id.class
│ │ ├── R$layout.class
│ │ ├── R$menu.class
│ │ ├── R$string.class
│ │ ├── R$style.class
│ │ ├── R$xml.class
│ │ └── R.class
│ ├── classes.dex
│ ├── dexedLibs
│ │ ├── android-support-v4-669ead4e445f4f36bee34703638d6877.jar
│ │ └── core-3.0.0-9c7a7554113f660eb959efdf9a628a7b.jar
│ ├── jarlist.cache
│ ├── res
│ │ ├── drawable-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ │ └── ic_launcher.png
│ │ └── drawable-xxhdpi
│ │ └── ic_launcher.png
│ ├── resources.ap_
│ └── UVCCdemo.apk
├── gen
│ └── com
│ └── serenegiant
│ └── uvccdemo
│ ├── BuildConfig.java
│ └── R.java
├── ic_launcher-web.png
├── jni
│ ├── Android.mk
│ ├── Application.mk
│ ├── libjpeg-turbo-1.5.0
│ │ ├── acinclude.m4
│ │ ├── aclocal.m4
│ │ ├── Android.mk
│ │ ├── ar-lib
│ │ ├── bmp.c
│ │ ├── bmp.h
│ │ ├── BUILDING.md
│ │ ├── cderror.h
│ │ ├── cdjpeg.c
│ │ ├── cdjpeg.h
│ │ ├── change.log
│ │ ├── ChangeLog.md
│ │ ├── cjpeg.1
│ │ ├── cjpeg.c
│ │ ├── CMakeLists.txt
│ │ ├── cmakescripts
│ │ │ └── testclean.cmake
│ │ ├── coderules.txt
│ │ ├── compile
│ │ ├── config.guess
│ │ ├── config.h.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── depcomp
│ │ ├── djpeg.1
│ │ ├── djpeg.c
│ │ ├── doc
│ │ │ └── html
│ │ │ ├── annotated.html
│ │ │ ├── bc_s.png
│ │ │ ├── bdwn.png
│ │ │ ├── classes.html
│ │ │ ├── closed.png
│ │ │ ├── doxygen.css
│ │ │ ├── doxygen-extra.css
│ │ │ ├── doxygen.png
│ │ │ ├── dynsections.js
│ │ │ ├── ftv2blank.png
│ │ │ ├── ftv2cl.png
│ │ │ ├── ftv2doc.png
│ │ │ ├── ftv2folderclosed.png
│ │ │ ├── ftv2folderopen.png
│ │ │ ├── ftv2lastnode.png
│ │ │ ├── ftv2link.png
│ │ │ ├── ftv2mlastnode.png
│ │ │ ├── ftv2mnode.png
│ │ │ ├── ftv2mo.png
│ │ │ ├── ftv2node.png
│ │ │ ├── ftv2ns.png
│ │ │ ├── ftv2plastnode.png
│ │ │ ├── ftv2pnode.png
│ │ │ ├── ftv2splitbar.png
│ │ │ ├── ftv2vertline.png
│ │ │ ├── functions.html
│ │ │ ├── functions_vars.html
│ │ │ ├── group___turbo_j_p_e_g.html
│ │ │ ├── index.html
│ │ │ ├── jquery.js
│ │ │ ├── modules.html
│ │ │ ├── nav_f.png
│ │ │ ├── nav_g.png
│ │ │ ├── nav_h.png
│ │ │ ├── open.png
│ │ │ ├── search
│ │ │ │ ├── all_63.html
│ │ │ │ ├── all_63.js
│ │ │ │ ├── all_64.html
│ │ │ │ ├── all_64.js
│ │ │ │ ├── all_68.html
│ │ │ │ ├── all_68.js
│ │ │ │ ├── all_6e.html
│ │ │ │ ├── all_6e.js
│ │ │ │ ├── all_6f.html
│ │ │ │ ├── all_6f.js
│ │ │ │ ├── all_72.html
│ │ │ │ ├── all_72.js
│ │ │ │ ├── all_74.html
│ │ │ │ ├── all_74.js
│ │ │ │ ├── all_77.html
│ │ │ │ ├── all_77.js
│ │ │ │ ├── all_78.html
│ │ │ │ ├── all_78.js
│ │ │ │ ├── all_79.html
│ │ │ │ ├── all_79.js
│ │ │ │ ├── classes_74.html
│ │ │ │ ├── classes_74.js
│ │ │ │ ├── close.png
│ │ │ │ ├── enums_74.html
│ │ │ │ ├── enums_74.js
│ │ │ │ ├── enumvalues_74.html
│ │ │ │ ├── enumvalues_74.js
│ │ │ │ ├── functions_74.html
│ │ │ │ ├── functions_74.js
│ │ │ │ ├── groups_74.html
│ │ │ │ ├── groups_74.js
│ │ │ │ ├── mag_sel.png
│ │ │ │ ├── nomatches.html
│ │ │ │ ├── search.css
│ │ │ │ ├── search.js
│ │ │ │ ├── search_l.png
│ │ │ │ ├── search_m.png
│ │ │ │ ├── search_r.png
│ │ │ │ ├── typedefs_74.html
│ │ │ │ ├── typedefs_74.js
│ │ │ │ ├── variables_63.html
│ │ │ │ ├── variables_63.js
│ │ │ │ ├── variables_64.html
│ │ │ │ ├── variables_64.js
│ │ │ │ ├── variables_68.html
│ │ │ │ ├── variables_68.js
│ │ │ │ ├── variables_6e.html
│ │ │ │ ├── variables_6e.js
│ │ │ │ ├── variables_6f.html
│ │ │ │ ├── variables_6f.js
│ │ │ │ ├── variables_72.html
│ │ │ │ ├── variables_72.js
│ │ │ │ ├── variables_74.html
│ │ │ │ ├── variables_74.js
│ │ │ │ ├── variables_77.html
│ │ │ │ ├── variables_77.js
│ │ │ │ ├── variables_78.html
│ │ │ │ ├── variables_78.js
│ │ │ │ ├── variables_79.html
│ │ │ │ └── variables_79.js
│ │ │ ├── structtjregion.html
│ │ │ ├── structtjscalingfactor.html
│ │ │ ├── structtjtransform.html
│ │ │ ├── sync_off.png
│ │ │ ├── sync_on.png
│ │ │ ├── tab_a.png
│ │ │ ├── tab_b.png
│ │ │ ├── tab_h.png
│ │ │ ├── tabs.css
│ │ │ └── tab_s.png
│ │ ├── doxygen.config
│ │ ├── doxygen-extra.css
│ │ ├── example.c
│ │ ├── include
│ │ │ ├── config.h
│ │ │ ├── jconfig.h
│ │ │ ├── jconfigint.h
│ │ │ └── jsimdcfg.inc
│ │ ├── install-sh
│ │ ├── jaricom.c
│ │ ├── java
│ │ │ ├── CMakeLists.txt
│ │ │ ├── doc
│ │ │ │ ├── allclasses-frame.html
│ │ │ │ ├── allclasses-noframe.html
│ │ │ │ ├── constant-values.html
│ │ │ │ ├── deprecated-list.html
│ │ │ │ ├── help-doc.html
│ │ │ │ ├── index-all.html
│ │ │ │ ├── index.html
│ │ │ │ ├── org
│ │ │ │ │ └── libjpegturbo
│ │ │ │ │ └── turbojpeg
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ ├── TJCompressor.html
│ │ │ │ │ ├── TJCustomFilter.html
│ │ │ │ │ ├── TJDecompressor.html
│ │ │ │ │ ├── TJException.html
│ │ │ │ │ ├── TJ.html
│ │ │ │ │ ├── TJScalingFactor.html
│ │ │ │ │ ├── TJTransformer.html
│ │ │ │ │ ├── TJTransform.html
│ │ │ │ │ └── YUVImage.html
│ │ │ │ ├── overview-tree.html
│ │ │ │ ├── package-list
│ │ │ │ ├── resources
│ │ │ │ │ ├── background.gif
│ │ │ │ │ ├── tab.gif
│ │ │ │ │ ├── titlebar_end.gif
│ │ │ │ │ └── titlebar.gif
│ │ │ │ ├── serialized-form.html
│ │ │ │ └── stylesheet.css
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── MANIFEST.MF
│ │ │ ├── org
│ │ │ │ └── libjpegturbo
│ │ │ │ └── turbojpeg
│ │ │ │ ├── TJCompressor.java
│ │ │ │ ├── TJCustomFilter.java
│ │ │ │ ├── TJDecompressor.java
│ │ │ │ ├── TJException.java
│ │ │ │ ├── TJ.java
│ │ │ │ ├── TJLoader.java.in
│ │ │ │ ├── TJLoader.java.tmpl
│ │ │ │ ├── TJScalingFactor.java
│ │ │ │ ├── TJTransformer.java
│ │ │ │ ├── TJTransform.java
│ │ │ │ └── YUVImage.java
│ │ │ ├── org_libjpegturbo_turbojpeg_TJCompressor.h
│ │ │ ├── org_libjpegturbo_turbojpeg_TJDecompressor.h
│ │ │ ├── org_libjpegturbo_turbojpeg_TJ.h
│ │ │ ├── org_libjpegturbo_turbojpeg_TJTransformer.h
│ │ │ ├── README
│ │ │ ├── TJBench.java
│ │ │ ├── TJExample.java
│ │ │ └── TJUnitTest.java
│ │ ├── jcapimin.c
│ │ ├── jcapistd.c
│ │ ├── jcarith.c
│ │ ├── jccoefct.c
│ │ ├── jccolext.c
│ │ ├── jccolor.c
│ │ ├── jcdctmgr.c
│ │ ├── jchuff.c
│ │ ├── jchuff.h
│ │ ├── jcinit.c
│ │ ├── jcmainct.c
│ │ ├── jcmarker.c
│ │ ├── jcmaster.c
│ │ ├── jcomapi.c
│ │ ├── jconfig.h.in
│ │ ├── jconfigint.h.in
│ │ ├── jconfig.txt
│ │ ├── jcparam.c
│ │ ├── jcphuff.c
│ │ ├── jcprepct.c
│ │ ├── jcsample.c
│ │ ├── jcstest.c
│ │ ├── jctrans.c
│ │ ├── jdapimin.c
│ │ ├── jdapistd.c
│ │ ├── jdarith.c
│ │ ├── jdatadst.c
│ │ ├── jdatadst-tj.c
│ │ ├── jdatasrc.c
│ │ ├── jdatasrc-tj.c
│ │ ├── jdcoefct.c
│ │ ├── jdcoefct.h
│ │ ├── jdcol565.c
│ │ ├── jdcolext.c
│ │ ├── jdcolor.c
│ │ ├── jdct.h
│ │ ├── jddctmgr.c
│ │ ├── jdhuff.c
│ │ ├── jdhuff.h
│ │ ├── jdinput.c
│ │ ├── jdmainct.c
│ │ ├── jdmainct.h
│ │ ├── jdmarker.c
│ │ ├── jdmaster.c
│ │ ├── jdmaster.h
│ │ ├── jdmerge.c
│ │ ├── jdmrg565.c
│ │ ├── jdmrgext.c
│ │ ├── jdphuff.c
│ │ ├── jdpostct.c
│ │ ├── jdsample.c
│ │ ├── jdsample.h
│ │ ├── jdtrans.c
│ │ ├── jerror.c
│ │ ├── jerror.h
│ │ ├── jfdctflt.c
│ │ ├── jfdctfst.c
│ │ ├── jfdctint.c
│ │ ├── jidctflt.c
│ │ ├── jidctfst.c
│ │ ├── jidctint.c
│ │ ├── jidctred.c
│ │ ├── jinclude.h
│ │ ├── jmemmgr.c
│ │ ├── jmemnobs.c