我使用camera2 API开发了一款应用。主要是应用程序将录制视频并在录制时,根据给定时间将视频片段保存在内部存储器中,片段名称将保存在SQLite数据库中,捕获过程将继续。
问题是:在保存3或4个剪辑后,应用程序将停止而不会给出正确的错误。我搜索了这个link 1,link 2,link 3以及Android developers。而且commonsguy已经实现了CAMERA API,也存在同样的问题。但他已经解决了这个问题,我无法弄明白他到底做了什么。而且Android developers也没有提到任何这种问题。那些SO问题也没有得到很好的回答。
这里的日志:
Session 9: Failed to create capture session; configuration failed
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: android.hardware.camera2.CameraAccessException: Illegal state encountered in camera service.
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at android.hardware.camera2.utils.CameraBinderDecorator.throwOnError(CameraBinderDecorator.java:131)
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at android.hardware.camera2.utils.CameraBinderDecorator$CameraBinderDecoratorListener.onAfterInvocation(CameraBinderDecorator.java:73)
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at android.hardware.camera2.utils.Decorator.invoke(Decorator.java:81)
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at java.lang.reflect.Proxy.invoke(Proxy.java:397)
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at $Proxy1.endConfigure(Unknown Source)
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at android.hardware.camera2.impl.CameraDeviceImpl.configureOutputsChecked(CameraDeviceImpl.java:383)
09-21 12:24:19.873 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:437)
09-21 12:24:19.883 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at com.android.ejsoft.video_upload_000web.Cam2VideoFrag.startRecordingVideo(Cam2VideoFrag.java:530)
09-21 12:24:19.883 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at com.android.ejsoft.video_upload_000web.Cam2VideoFrag.access$1300(Cam2VideoFrag.java:60)
09-21 12:24:19.883 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at com.android.ejsoft.video_upload_000web.Cam2VideoFrag$4$2.onInfo(Cam2VideoFrag.java:556)
09-21 12:24:19.883 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at android.media.MediaRecorder$EventHandler.handleMessage(MediaRecorder.java:1159)
09-21 12:24:19.883 8353-8353/com.android.ejsoft.video_upload_000web W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
错误主要集中在:
mCameraDevice.createCaptureSession(surfaces, new CameraCaptureSession.StateCallback() {
有些时候可能需要重启createCaptureSession
类。这只是我的建议。我该如何解决这个问题?
感谢您宝贵的时间..!