duanhong169 / camera Goto Github PK
View Code? Open in Web Editor NEW📸 Use Android camera to take pictures and videos, based on `camera2` api.
License: Apache License 2.0
📸 Use Android camera to take pictures and videos, based on `camera2` api.
License: Apache License 2.0
Flash and Facing not working
This is wonderful example thank you. But back camera not saved images and videos. Front camera is working. What must i do . Thank you..
click flip button in PhotographerActivity
photographerhelper modify setFacing(int newFacing) method
newFacing field actually change but camera is still old
camera not getting flipped. It always open the back camera. How to open front camera ?
Android API 21
this is Library not working.
My logcat;
09-18 10:37:03.569 5606-5636/top.defaults.cameraapp E/GED: Failed to get GED Log Buf, err(0)
09-18 10:37:26.807 5606-5679/top.defaults.cameraapp E/MALI: get_target_buffer:967: winsysp_window_buffer_get failed 12299
09-18 10:37:26.846 5606-5679/top.defaults.cameraapp E/MALI: gles_state_set_error_internal:56: GLES ctx: 0x7f91006008, error code:0x505
09-18 10:37:26.874 5606-5679/top.defaults.cameraapp E/CameraDeviceGLThread-0: Received exception on GL render thread:
java.lang.IllegalStateException: glDrawArrays: GLES20 error: 0x505
at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkGlError(SurfaceTextureRenderer.java:537)
at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawFrame(SurfaceTextureRenderer.java:346)
at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:726)
at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.os.HandlerThread.run(HandlerThread.java:61)
09-18 10:37:26.978 5606-5606/top.defaults.cameraapp E/CameraCaptureSession: Session 1: Exception while stopping repeating:
android.hardware.camera2.CameraAccessException: The camera device has encountered a serious error
at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:1478)
at android.hardware.camera2.impl.CameraDeviceImpl.stopRepeating(CameraDeviceImpl.java:677)
at android.hardware.camera2.impl.CameraCaptureSessionImpl.close(CameraCaptureSessionImpl.java:328)
at top.defaults.camera.Camera2Photographer.closePreviewSession(Camera2Photographer.java:700)
at top.defaults.camera.Camera2Photographer.closeCamera(Camera2Photographer.java:687)
at top.defaults.camera.Camera2Photographer.stopPreview(Camera2Photographer.java:452)
at top.defaults.camera.Camera2Photographer$1.onError(Camera2Photographer.java:130)
at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks$1.run(CameraDeviceImpl.java:1207)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5624)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
09-18 10:37:30.830 5606-5678/top.defaults.cameraapp E/RequestThread-0: Timed out while waiting for request to complete.
09-18 10:37:30.831 5606-5678/top.defaults.cameraapp E/CameraDeviceState: Cannot receive result while in state: 0
09-18 10:37:30.831 5606-5678/top.defaults.cameraapp E/CameraDeviceState: Cannot receive result while in state: 0
09-18 10:37:30.834 5606-5678/top.defaults.cameraapp E/CameraDeviceState: Cannot receive result while in state: 0
09-18 10:37:30.957 5606-5623/top.defaults.cameraapp E/BufferQueueProducer: [unnamed-5606-2](this:0x7f91234000,id:2,api:4,p:245,c:-1) queueBuffer: BufferQueue has been abandoned
09-18 10:37:30.958 5606-5684/top.defaults.cameraapp E/BufferQueueProducer: [unnamed-5606-2](this:0x7f91234000,id:2,api:4,p:245,c:-1) dequeueBuffer: BufferQueue has been abandoned
09-18 10:37:30.988 5606-5624/top.defaults.cameraapp E/BufferQueueProducer: [unnamed-5606-2](this:0x7f91234000,id:2,api:4,p:245,c:-1) queueBuffer: BufferQueue has been abandoned
09-18 10:37:30.990 5606-5623/top.defaults.cameraapp E/BufferQueueProducer: [unnamed-5606-2](this:0x7f91234000,id:2,api:4,p:245,c:-1) dequeueBuffer: BufferQueue has been abandoned
09-18 10:37:31.449 5606-5684/top.defaults.cameraapp E/BufferQueueProducer: [unnamed-5606-2](this:0x7f91234000,id:2,api:4,p:245,c:-1) cancelBuffer: BufferQueue has been abandoned
09-18 10:37:31.450 5606-5678/top.defaults.cameraapp E/BufferQueueProducer: [unnamed-5606-2](this:0x7f91234000,id:2,api:4,p:245,c:-1) query: BufferQueue has been abandoned
09-18 10:37:31.621 5606-5606/top.defaults.cameraapp E/PhotographerActivity: Error happens: The camera device has encountered a serious error
09-18 10:37:31.623 5606-5606/top.defaults.cameraapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: top.defaults.cameraapp, PID: 5606
java.lang.RuntimeException: MediaRecorder is not initialized
at top.defaults.camera.Camera2Photographer.throwIfNoMediaRecorder(Camera2Photographer.java:260)
at top.defaults.camera.Camera2Photographer.startRecording(Camera2Photographer.java:798)
at top.defaults.cameraapp.PhotographerActivity.action(PhotographerActivity.java:166)
at top.defaults.cameraapp.PhotographerActivity_ViewBinding$5.doClick(PhotographerActivity_ViewBinding.java:93)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
at android.view.View.performClick(View.java:4848)
at android.view.View$PerformClick.run(View.java:20260)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5624)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Does it support a square ratio (1:1)? I tried it but it looks more like 4:3, it's not as square as expected.
Version used;
Android API 21
v1.0.3
My Logcat;
09-18 10:23:19.430 3456-3508/top.defaults.cameraapp E/GED: Failed to get GED Log Buf, err(0)
09-18 10:23:33.270 3456-3456/top.defaults.cameraapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: top.defaults.cameraapp, PID: 3456
java.lang.RuntimeException: Unable to start activity ComponentInfo{top.defaults.cameraapp/top.defaults.cameraapp.PhotographerActivity}: android.view.InflateException: Binary XML file line #139: Error inflating class ImageButton
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2521)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595)
at android.app.ActivityThread.access$800(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5624)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Caused by: android.view.InflateException: Binary XML file line #139: Error inflating class ImageButton
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at top.defaults.cameraapp.PhotographerActivity.onCreate(PhotographerActivity.java:201)
at android.app.Activity.performCreate(Activity.java:6092)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595)
at android.app.ActivityThread.access$800(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5624)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Caused by: android.content.res.Resources$NotFoundException: Resource "top.defaults.cameraapp:drawable/ic_switch_camera" (7f070068) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f070068 a=-1 r=0x7f070068}
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2690)
at android.content.res.Resources.loadDrawable(Resources.java:2614)
at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
at android.widget.ImageView.<init>(ImageView.java:146)
at android.widget.ImageButton.<init>(ImageButton.java:86)
at android.widget.ImageButton.<init>(ImageButton.java:82)
at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:72)
at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:68)
at android.support.v7.app.AppCompatViewInflater.createImageButton(AppCompatViewInflater.java:201)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:121)
at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1035)
at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1092)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at top.defaults.cameraapp.PhotographerActivity.onCreate(PhotographerActivity.java:201)
at android.app.Activity.performCreate(Activity.java:6092)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595)
at android.app.ActivityThread.access$800(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5624)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
The flip camera function not working on the Android 6 version.
please give me a solution.
I am using huawei for devoloping. when i was image mode imageSize return 4608*3456 from Camere2Photographer.java . and seems toast message your image saved . But not saved in files folder. When i choose imageSize from dialog smaller size , saved.
I tried in samsung phone no problem. All supported images saved. It is problem about Huawai phones ? How can i solve this problem.
Thank you.
when
implementation 'com.github.duanhong169:camera:1.0.3'
is added to app/build.gradle, sync reports this error:
duplicate value for resource 'attr/mode' with config ''.
Camera flip to front camera not working
2019-05-09 21:22:37.867 31392-31392/? E/libpersona: Couldn't open the File - /data/system/users/0/personalist.xml - No such file or directory
2019-05-09 21:23:36.655 31392-31392/top.defaults.cameraapp E/Media_APM :: isCalledPackage return false
2019-05-09 21:23:36.872 31392-31392/top.defaults.cameraapp E/Legacy-CameraDevice-JNI: LegacyCameraDevice_nativeDetectSurfaceDimens: Error while querying surface width No such device (-19).
2019-05-09 21:23:36.877 31392-31392/top.defaults.cameraapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: top.defaults.cameraapp, PID: 31392
java.lang.IllegalArgumentException: Surface was abandoned
at android.hardware.camera2.utils.SurfaceUtils.getSurfaceSize(SurfaceUtils.java:70)
at android.hardware.camera2.params.OutputConfiguration.(OutputConfiguration.java:237)
at android.hardware.camera2.params.OutputConfiguration.(OutputConfiguration.java:101)
at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:504)
at top.defaults.camera.Camera2Photographer.startRecording(Camera2Photographer.java:827)
at top.defaults.cameraapp.PhotographerActivity.action(PhotographerActivity.java:166)
at top.defaults.cameraapp.PhotographerActivity_ViewBinding$5.doClick(PhotographerActivity_ViewBinding.java:93)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
at android.view.View.performClick(View.java:6935)
at android.view.View$PerformClick.run(View.java:26214)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:7000)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
Caused by: android.hardware.camera2.legacy.LegacyExceptionUtils$BufferQueueAbandonedException
at android.hardware.camera2.legacy.LegacyExceptionUtils.throwOnError(LegacyExceptionUtils.java:73)
at android.hardware.camera2.legacy.LegacyCameraDevice.getSurfaceSize(LegacyCameraDevice.java:604)
at android.hardware.camera2.utils.SurfaceUtils.getSurfaceSize(SurfaceUtils.java:68)
at android.hardware.camera2.params.OutputConfiguration.(OutputConfiguration.java:237)
at android.hardware.camera2.params.OutputConfiguration.(OutputConfiguration.java:101)
at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:504)
at top.defaults.camera.Camera2Photographer.startRecording(Camera2Photographer.java:827)
at top.defaults.cameraapp.PhotographerActivity.action(PhotographerActivity.java:166)
at top.defaults.cameraapp.PhotographerActivity_ViewBinding$5.doClick(PhotographerActivity_ViewBinding.java:93)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
at android.view.View.performClick(View.java:6935)
at android.view.View$PerformClick.run(View.java:26214)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:7000)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
When I make a video with this library ( com.github.duanhong169:camera:1.0.3
) and when i click to play this video ,video not played just voice and writes "video codec not supported"
Can you help me for this problem how to fix ?
when i start flash then click on recording then flash is closed, why this happend. Anybody help me
I faced problem with programmatical change of Photographer ImageSize, because Size ctor is not accessible outside its package. I overacame the problem with reflection, but I think missing public ctor of Size is a little omission which could be quickly fixed.
可以支持4k录像吗?
in Building of app it give error starting support is API 26 Android O.
I'm getting error Access denied finding property "persist.vendor.camera.privapp.list" and access denied finding property "camera.aux.packagelist" for Android api 28 and above ie 8 and 9 android versions.Please help me.
I would like to preprocess each frame before them be showed. Something like onPreviewFrame.
Is that possible ?
Best Regards.
Kleyson Rios.
I want that while i am recording a video i can select my own music or audio file to play with video. How to do that ?
Hello!
Thank you for this project.
Would this approach be compatible with an external usb camera (UVC compatible webcam)?
Is there any option available to pause the video record and restart it?
After completed camera operations , I want to show image or video in other actvity .
Is that true ?
In PhotographerActivity.java i added to announcingNewFile method these codes. Is it enogh or must i do something about stop camera or backgroundtasks?
Thank you
` private void announcingNewFile(String filePath) {
Toast.makeText(PhotographerActivity.this, "File: " + filePath, Toast.LENGTH_SHORT).show();
Utils.addMediaToGallery(PhotographerActivity.this, filePath);
finish();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
Intent intent = new Intent(PhotographerActivity.this,PreviewActivity.class);
intent.putExtra("mode",0);
intent.putExtra("file",filePath);
startActivity(intent);
}`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.