Giter Site home page Giter Site logo

duanhong169 / camera Goto Github PK

View Code? Open in Web Editor NEW
129.0 8.0 44.0 464 KB

📸 Use Android camera to take pictures and videos, based on `camera2` api.

License: Apache License 2.0

Java 100.00%
android-library android-camera android-camera2 android-video-recorder android-camera-view android-camera-preview

camera's People

Contributors

duanhong169 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

camera's Issues

Back camera not saved

This is wonderful example thank you. But back camera not saved images and videos. Front camera is working. What must i do . Thank you..

Crash: CameraAccessException: The camera device has encountered a serious error

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)

Square ratio

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.

Crash: not working. Resources$NotFoundException

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) 

About ImageSize save problem

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.

cant integrate into existing project

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 ''.

On starting video recording facing this issue

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) 

video codec not supported

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 ?

camera.Size ctor has package access

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

可以支持4k录像吗?

Android Access denied error while using Camera

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.

Pause video record

Is there any option available to pause the video record and restart it?

After captured Image or recorded video

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);

}`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.