質問編集履歴

5

エラーの変更

2017/08/21 07:35

投稿

giant
giant

スコア132

test CHANGED
File without changes
test CHANGED
@@ -4,105 +4,71 @@
4
4
 
5
5
  E/IMGSRV: :0: WSEGL_GetDrawableParameters: Failed to obtain minimal parameters
6
6
 
7
- 08-21 16:05:54.145 28484-30112/com.google.android.exoplayer2.demo E/IMGSRV: :0: KEGLGetDrawableParameters: Native window is invalid
7
+ 08-21 16:30:55.668 9972-10564/com.google.android.exoplayer2.demo E/IMGSRV: :0: KEGLGetDrawableParameters: Native window is invalid
8
8
 
9
- 08-21 16:05:54.145 28484-30112/com.google.android.exoplayer2.demo E/libEGL: eglMakeCurrent:800 error 300b (EGL_BAD_NATIVE_WINDOW)
9
+ 08-21 16:30:55.668 9972-10564/com.google.android.exoplayer2.demo E/libEGL: eglMakeCurrent:800 error 300b (EGL_BAD_NATIVE_WINDOW)
10
10
 
11
- 08-21 16:05:54.145 28484-30112/com.google.android.exoplayer2.demo E/CameraDeviceGLThread-1: Received exception on GL render thread:
11
+ 08-21 16:30:55.668 9972-10564/com.google.android.exoplayer2.demo E/CameraDeviceGLThread-1: Received exception on GL render thread:
12
12
 
13
- java.lang.IllegalStateException: makeCurrent: EGL error: 0x300b
13
+ java.lang.IllegalStateException: makeCurrent: EGL error: 0x300b
14
14
 
15
- at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:530)
15
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:530)
16
16
 
17
- at android.hardware.camera2.legacy.SurfaceTextureRenderer.makeCurrent(SurfaceTextureRenderer.java:518)
17
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.makeCurrent(SurfaceTextureRenderer.java:518)
18
18
 
19
- at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:721)
19
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:721)
20
20
 
21
- at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105)
21
+ at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105)
22
22
 
23
- at android.os.Handler.dispatchMessage(Handler.java:98)
23
+ at android.os.Handler.dispatchMessage(Handler.java:98)
24
24
 
25
- at android.os.Looper.loop(Looper.java:148)
25
+ at android.os.Looper.loop(Looper.java:148)
26
26
 
27
- at android.os.HandlerThread.run(HandlerThread.java:61)
27
+ at android.os.HandlerThread.run(HandlerThread.java:61)
28
28
 
29
- 08-21 16:05:54.222 28484-30077/com.google.android.exoplayer2.demo E/Camera2andPlayer: Video saved: /storage/emulated/0/Download/cameraMovie/1503299152139.mp4
29
+ 08-21 16:30:55.673 9972-9972/com.google.android.exoplayer2.demo E/Camera2andPlayer: nullや onError
30
30
 
31
- 08-21 16:05:58.128 28484-30108/com.google.android.exoplayer2.demo E/RequestThread-1: Timed out while waiting for request to complete.
31
+ 08-21 16:30:55.701 9972-10525/com.google.android.exoplayer2.demo E/Camera2andPlayer: Video saved: /storage/emulated/0/Download/cameraMovie/1503300653646.mp4
32
32
 
33
- 08-21 16:05:58.130 28484-30108/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
33
+ 08-21 16:30:55.702 9972-10525/com.google.android.exoplayer2.demo E/CameraCaptureSession: Session 23: Exception while stopping repeating:
34
34
 
35
- 08-21 16:05:58.132 28484-30108/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
35
+ android.hardware.camera2.CameraAccessException: The camera device has encountered a serious error
36
36
 
37
- 08-21 16:05:58.153 28484-30108/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
37
+ at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2012)
38
38
 
39
- 08-21 16:05:58.250 28484-28508/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
39
+ at android.hardware.camera2.impl.CameraDeviceImpl.stopRepeating(CameraDeviceImpl.java:925)
40
40
 
41
- 08-21 16:05:58.251 28484-28501/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
41
+ at android.hardware.camera2.impl.CameraCaptureSessionImpl.close(CameraCaptureSessionImpl.java:378)
42
42
 
43
- 08-21 16:05:58.251 28484-28496/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
43
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.closePreviewSession(Camera2andPlayerActivity.java:829)
44
44
 
45
- 08-21 16:05:58.251 28484-28505/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
45
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:534)
46
46
 
47
- 08-21 16:05:58.252 28484-28515/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
47
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:865)
48
48
 
49
- 08-21 16:05:58.252 28484-28508/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
49
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
50
50
 
51
- 08-21 16:05:58.253 28484-28501/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
51
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:597)
52
52
 
53
- 08-21 16:05:58.253 28484-28496/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
53
+ at android.os.Handler.handleCallback(Handler.java:739)
54
54
 
55
- 08-21 16:05:58.281 28484-28484/com.google.android.exoplayer2.demo E/Camera2andPlayer: nullや onError
55
+ at android.os.Handler.dispatchMessage(Handler.java:95)
56
56
 
57
- 08-21 16:05:58.283 28484-30077/com.google.android.exoplayer2.demo E/UncaughtException: java.lang.IllegalStateException: CameraDevice was already closed
57
+ at android.os.Looper.loop(Looper.java:148)
58
58
 
59
- at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2009)
59
+ at android.os.HandlerThread.run(HandlerThread.java:61)
60
60
 
61
- at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureRequest(CameraDeviceImpl.java:635)
61
+ 08-21 16:30:59.658 9972-10561/com.google.android.exoplayer2.demo E/RequestThread-1: Timed out while waiting for request to complete.
62
62
 
63
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:551)
63
+ 08-21 16:30:59.658 9972-10561/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
64
64
 
65
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:865)
65
+ 08-21 16:30:59.658 9972-10561/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
66
66
 
67
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
67
+ 08-21 16:30:59.681 9972-10561/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
68
68
 
69
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:597)
69
+ 08-21 16:30:59.682 9972-10561/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot call idle while in state: 0
70
70
 
71
- at android.os.Handler.handleCallback(Handler.java:739)
72
71
 
73
- at android.os.Handler.dispatchMessage(Handler.java:95)
74
-
75
- at android.os.Looper.loop(Looper.java:148)
76
-
77
- at android.os.HandlerThread.run(HandlerThread.java:61)
78
-
79
- 08-21 16:05:58.503 28484-30077/com.google.android.exoplayer2.demo E/AndroidRuntime: FATAL EXCEPTION: CameraBackground
80
-
81
- Process: com.google.android.exoplayer2.demo, PID: 28484
82
-
83
- java.lang.IllegalStateException: CameraDevice was already closed
84
-
85
- at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2009)
86
-
87
- at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureRequest(CameraDeviceImpl.java:635)
88
-
89
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:551)
90
-
91
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:865)
92
-
93
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
94
-
95
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:597)
96
-
97
- at android.os.Handler.handleCallback(Handler.java:739)
98
-
99
- at android.os.Handler.dispatchMessage(Handler.java:95)
100
-
101
- at android.os.Looper.loop(Looper.java:148)
102
-
103
- at android.os.HandlerThread.run(HandlerThread.java:61)
104
-
105
- 08-21 16:05:58.508 28484-28484/com.google.android.exoplayer2.demo E/Camera2andPlayer: onPause
106
72
 
107
73
  ```
108
74
 

4

エラーの訂正

2017/08/21 07:35

投稿

giant
giant

スコア132

test CHANGED
File without changes
test CHANGED
@@ -2,145 +2,109 @@
2
2
 
3
3
  ```java
4
4
 
5
- private void startPreview() {
5
+ E/IMGSRV: :0: WSEGL_GetDrawableParameters: Failed to obtain minimal parameters
6
6
 
7
+ 08-21 16:05:54.145 28484-30112/com.google.android.exoplayer2.demo E/IMGSRV: :0: KEGLGetDrawableParameters: Native window is invalid
7
8
 
9
+ 08-21 16:05:54.145 28484-30112/com.google.android.exoplayer2.demo E/libEGL: eglMakeCurrent:800 error 300b (EGL_BAD_NATIVE_WINDOW)
8
10
 
9
- Log.d(TAG,"startPreview");
11
+ 08-21 16:05:54.145 28484-30112/com.google.android.exoplayer2.demo E/CameraDeviceGLThread-1: Received exception on GL render thread:
10
12
 
11
- if (null == mCameraDevice || !mTextureView.isAvailable() || null == mPreviewSize) {
13
+ java.lang.IllegalStateException: makeCurrent: EGL error: 0x300b
12
14
 
13
- return;
15
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:530)
14
16
 
15
- }
17
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.makeCurrent(SurfaceTextureRenderer.java:518)
16
18
 
17
- try {
19
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:721)
18
20
 
19
- closePreviewSession();
21
+ at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105)
20
22
 
21
- SurfaceTexture texture = mTextureView.getSurfaceTexture();
23
+ at android.os.Handler.dispatchMessage(Handler.java:98)
22
24
 
23
- assert texture != null;
25
+ at android.os.Looper.loop(Looper.java:148)
24
26
 
25
- texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
27
+ at android.os.HandlerThread.run(HandlerThread.java:61)
26
28
 
29
+ 08-21 16:05:54.222 28484-30077/com.google.android.exoplayer2.demo E/Camera2andPlayer: Video saved: /storage/emulated/0/Download/cameraMovie/1503299152139.mp4
27
30
 
31
+ 08-21 16:05:58.128 28484-30108/com.google.android.exoplayer2.demo E/RequestThread-1: Timed out while waiting for request to complete.
28
32
 
29
- //この下が506行目です。
33
+ 08-21 16:05:58.130 28484-30108/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
30
34
 
31
- mPreviewBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
35
+ 08-21 16:05:58.132 28484-30108/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
32
36
 
37
+ 08-21 16:05:58.153 28484-30108/com.google.android.exoplayer2.demo E/CameraDeviceState: Cannot receive result while in state: 0
33
38
 
39
+ 08-21 16:05:58.250 28484-28508/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
34
40
 
35
- Surface previewSurface = new Surface(texture);
41
+ 08-21 16:05:58.251 28484-28501/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
36
42
 
37
- mPreviewBuilder.addTarget(previewSurface);
43
+ 08-21 16:05:58.251 28484-28496/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
38
44
 
45
+ 08-21 16:05:58.251 28484-28505/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
39
46
 
47
+ 08-21 16:05:58.252 28484-28515/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
40
48
 
49
+ 08-21 16:05:58.252 28484-28508/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
41
50
 
51
+ 08-21 16:05:58.253 28484-28501/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
42
52
 
43
- mCameraDevice.createCaptureSession(Collections.singletonList(previewSurface),
53
+ 08-21 16:05:58.253 28484-28496/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceTexture-1-28484-40] cancelBuffer: BufferQueue has been abandoned
44
54
 
45
- new CameraCaptureSession.StateCallback() {
55
+ 08-21 16:05:58.281 28484-28484/com.google.android.exoplayer2.demo E/Camera2andPlayer: null onError
46
56
 
57
+ 08-21 16:05:58.283 28484-30077/com.google.android.exoplayer2.demo E/UncaughtException: java.lang.IllegalStateException: CameraDevice was already closed
47
58
 
59
+ at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2009)
48
60
 
49
- @Override
61
+ at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureRequest(CameraDeviceImpl.java:635)
50
62
 
51
- public void onConfigured(@NonNull CameraCaptureSession session) {
63
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:551)
52
64
 
53
- mPreviewSession = session;
65
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:865)
54
66
 
67
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
55
68
 
69
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:597)
56
70
 
57
- Log.d(TAG,"onConfigured");
71
+ at android.os.Handler.handleCallback(Handler.java:739)
58
72
 
73
+ at android.os.Handler.dispatchMessage(Handler.java:95)
59
74
 
75
+ at android.os.Looper.loop(Looper.java:148)
60
76
 
61
- //updatePreviewが2回呼ばれてる多分、startRecordingVideoとかを見て
77
+ at android.os.HandlerThread.run(HandlerThread.java:61)
62
78
 
63
- //updatePreview();
79
+ 08-21 16:05:58.503 28484-30077/com.google.android.exoplayer2.demo E/AndroidRuntime: FATAL EXCEPTION: CameraBackground
64
80
 
81
+ Process: com.google.android.exoplayer2.demo, PID: 28484
65
82
 
83
+ java.lang.IllegalStateException: CameraDevice was already closed
66
84
 
67
- //録画中であれば、録画を再開するとかそういうのが必要かも
85
+ at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2009)
68
86
 
87
+ at android.hardware.camera2.impl.CameraDeviceImpl.createCaptureRequest(CameraDeviceImpl.java:635)
69
88
 
89
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:551)
70
90
 
71
- //ここから
91
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:865)
72
92
 
73
- final Handler handlers = new Handler();
93
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
74
94
 
75
- handlers.postDelayed(new Runnable() {
95
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:597)
76
96
 
77
- @Override
97
+ at android.os.Handler.handleCallback(Handler.java:739)
78
98
 
79
- public void run() {
99
+ at android.os.Handler.dispatchMessage(Handler.java:95)
80
100
 
81
- startRecordingVideo();
101
+ at android.os.Looper.loop(Looper.java:148)
82
102
 
83
- }
103
+ at android.os.HandlerThread.run(HandlerThread.java:61)
84
104
 
85
- }, 3000);
86
-
87
- //ここまでをいじった、下の行も
88
-
89
-
90
-
91
- //startRecordingVideo();
92
-
93
- //多分startだけ、
94
-
95
- //stopは、あとで位f文でやりたい
96
-
97
-
98
-
99
- Log.e(TAG,"撮影start");
100
-
101
- final Handler handler = new Handler();
102
-
103
- handler.postDelayed(new Runnable() {
104
-
105
- @Override
106
-
107
- public void run() {
108
-
109
- Log.e(TAG,"撮影/////");
110
-
111
- stopRecordingVideo();
112
-
113
-
114
-
115
- }
116
-
117
- }, 50000);
118
-
119
- }
120
-
121
-
122
-
123
- @Override
124
-
125
- public void onConfigureFailed(@NonNull CameraCaptureSession session) {
105
+ 08-21 16:05:58.508 28484-28484/com.google.android.exoplayer2.demo E/Camera2andPlayer: onPause
126
-
127
- }
128
-
129
- }, mBackgroundHandler);
130
-
131
- } catch (CameraAccessException e) {
132
-
133
- e.printStackTrace();
134
-
135
- }
136
-
137
- }
138
106
 
139
107
  ```
140
-
141
- //字数が足りないので一時的に画像にさせてください
142
-
143
- ![イメージ説明](4e41d40b629adfeb6d632ed56f63773a.png)
144
108
 
145
109
 
146
110
 
@@ -152,98 +116,8 @@
152
116
 
153
117
 
154
118
 
155
- ```java
119
+ ![イメージ説明](e1ebfa6dbf0d6a2e060a0eab56e0af8d.png)
156
120
 
157
- //流れをまとめたコードです。
121
+ //続き
158
122
 
159
- private CameraDevice.StateCallback mStateCallback = new CameraDevice.StateCallback() {
@Override
160
-
161
- public void onOpened(@NonNull CameraDevice cameraDevice) {
162
-
163
-
164
-
165
- startPreview() { //※
166
-
167
- closePreviewSession(){
168
-
169
- mPreviewSession.close();
 mPreviewSession = null;
170
-
171
- }
172
-
173
-
174
-
175
- mCameraDevice.createCaptureSession(Collections.singletonList(previewSurface),
 new CameraCaptureSession.StateCallback() {
176
-
177
- onConfigured //非同期処理
178
-
179
- updatePreview({mPreviewSession.setRepeatingRequest(mPreviewBuilder.build(), null, mBackgroundHandler);}
180
-
181
-
182
-
183
-
184
-
185
- startRecordingVideo(){
186
-
187
- closePreviewSession(){ //セッションを切っている
188
-
189
- mPreviewSession.close();
190
-
191
- mPreviewSession=null;
192
-
193
- }
194
-
195
- setUpMediaRecorder(){
196
-
197
- //mediaRecorderのset
198
-
199
- mMediaRecorder.prepare();
200
-
201
- }
202
-
203
-
204
-
205
- mCameraDevice.createCaptureSession(surfaces, new CameraCaptureSession.StateCallback() {
 @Override
 public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession)
206
-
207
- updatePreview(){
208
-
209
- mPreviewSession.setRepeatingRequest(mPreviewBuilder.build(), null, mBackgroundHandler);
210
-
211
- }
212
-
213
- mIsRecordingVideo=true;
mMediaRecorder.start();
214
-
215
- }
216
-
217
-
218
-
219
- stopRecordingVideo(){
220
-
221
- mIsRecordingVideo = false;
222
-
223
- mPreviewSession.stopRepeating();
224
-
225
- mPreviewSession.abortCaptures();
226
-
227
- mMediaRecorder.stop();
mMediaRecorder.reset();
123
+ ![イメージ説明](dfc28f918cafb1475a72b330468e93d8.png);
mMediaRecorder.reset();
228
-
229
-
230
-
231
- startPreview(){ //ここからは繰り返しになってる
232
-
233
- }
234
-
235
-
236
-
237
- mCameraOpenCloseLock.release(); //onOpenedでstartPreview()が呼ばれた後に呼ばれる
238
-
239
-
240
-
241
- ```
242
-
243
-
244
-
245
-
246
-
247
- コード
248
-
249
- ```

3

506行目あたりのコードの追加

2017/08/21 07:11

投稿

giant
giant

スコア132

test CHANGED
File without changes
test CHANGED
@@ -2,124 +2,150 @@
2
2
 
3
3
  ```java
4
4
 
5
- E/Camera2andPlayer: 撮影start
6
-
7
- E/Camera2andPlayer: startRecordingVideo
8
-
9
- E/Camera2andPlayer: setUpMediaRecorder
10
-
11
- E/Camera2andPlayer: getVideoFilePathy
12
-
13
- E/Camera2andPlayer: 下のConfigured
14
-
15
- E/Camera2andPlayer: updatePreview
16
-
17
- E/Camera2andPlayer: 撮影/////
18
-
19
- E/Camera2andPlayer: stopRecordingVideo
20
-
21
- E/IMGSRV: :0: WSEGL_GetDrawableParameters: Failed to obtain minimal parameters
22
-
23
- E/IMGSRV: :0: KEGLGetDrawableParameters: Native window is invalid
24
-
25
- E/libEGL: eglMakeCurrent:800 error 300b (EGL_BAD_NATIVE_WINDOW)
26
-
27
- E/CameraDeviceGLThread-1: Received exception on GL render thread:
28
-
29
- java.lang.IllegalStateException: makeCurrent: EGL error: 0x300b
30
-
31
- at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:530)
32
-
33
- at android.hardware.camera2.legacy.SurfaceTextureRenderer.makeCurrent(SurfaceTextureRenderer.java:518)
34
-
35
- at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:721)
36
-
37
- at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105)
38
-
39
- at android.os.Handler.dispatchMessage(Handler.java:98)
40
-
41
- at android.os.Looper.loop(Looper.java:148)
42
-
43
- at android.os.HandlerThread.run(HandlerThread.java:61)
44
-
45
- E/Camera2andPlayer: Video saved: /storage/emulated/0/Download/cameraMovie/1503280316571.mp4
46
-
47
- E/RequestThread-1: Timed out while waiting for request to complete.
48
-
49
- E/CameraDeviceState: Cannot receive result while in state: 0
50
-
51
- E/CameraDeviceState: Cannot receive result while in state: 0
52
-
53
- E/CameraDeviceState: Cannot receive result while in state: 0
54
-
55
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] dequeueBuffer: BufferQueue has been abandoned
56
-
57
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] dequeueBuffer: BufferQueue has been abandoned
58
-
59
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] dequeueBuffer: BufferQueue has been abandoned
60
-
61
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] queueBuffer: BufferQueue has been abandoned
62
-
63
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
64
-
65
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
66
-
67
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
68
-
69
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
70
-
71
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
72
-
73
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
74
-
75
- E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
76
-
77
- E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.camera2.CaptureRequest$Builder android.hardware.camera2.CameraDevice.createCaptureRequest(int)' on a null object reference
78
-
79
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:506)
80
-
81
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:811)
82
-
83
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
84
-
85
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:546)
86
-
87
- at android.os.Handler.handleCallback(Handler.java:739)
88
-
89
- at android.os.Handler.dispatchMessage(Handler.java:95)
90
-
91
- at android.os.Looper.loop(Looper.java:148)
92
-
93
- at android.os.HandlerThread.run(HandlerThread.java:61)
94
-
95
- E/AndroidRuntime: FATAL EXCEPTION: CameraBackground
96
-
97
- Process: com.google.android.exoplayer2.demo, PID: 17565
98
-
99
- java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.camera2.CaptureRequest$Builder android.hardware.camera2.CameraDevice.createCaptureRequest(int)' on a null object reference
100
-
101
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:506)
102
-
103
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:811)
104
-
105
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
106
-
107
- at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:546)
108
-
109
- at android.os.Handler.handleCallback(Handler.java:739)
110
-
111
- at android.os.Handler.dispatchMessage(Handler.java:95)
112
-
113
- at android.os.Looper.loop(Looper.java:148)
114
-
115
- at android.os.HandlerThread.run(HandlerThread.java:61)
116
-
117
- 08-21 10:52:03.058 17565-17565/com.google.android.exoplayer2.demo E/Camera2andPlayer: onPause
118
-
119
-
5
+ private void startPreview() {
6
+
7
+
8
+
9
+ Log.d(TAG,"startPreview");
10
+
11
+ if (null == mCameraDevice || !mTextureView.isAvailable() || null == mPreviewSize) {
12
+
13
+ return;
14
+
15
+ }
16
+
17
+ try {
18
+
19
+ closePreviewSession();
20
+
21
+ SurfaceTexture texture = mTextureView.getSurfaceTexture();
22
+
23
+ assert texture != null;
24
+
25
+ texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
26
+
27
+
28
+
29
+ //この下が506行目です。
30
+
31
+ mPreviewBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
32
+
33
+
34
+
35
+ Surface previewSurface = new Surface(texture);
36
+
37
+ mPreviewBuilder.addTarget(previewSurface);
38
+
39
+
40
+
41
+
42
+
43
+ mCameraDevice.createCaptureSession(Collections.singletonList(previewSurface),
44
+
45
+ new CameraCaptureSession.StateCallback() {
46
+
47
+
48
+
49
+ @Override
50
+
51
+ public void onConfigured(@NonNull CameraCaptureSession session) {
52
+
53
+ mPreviewSession = session;
54
+
55
+
56
+
57
+ Log.d(TAG,"onConfigured");
58
+
59
+
60
+
61
+ //updatePreviewが2回呼ばれてる多分、startRecordingVideoとかを見て
62
+
63
+ //updatePreview();
64
+
65
+
66
+
67
+ //録画中であれば、録画を再開するとかそういうのが必要かも
68
+
69
+
70
+
71
+ //ここから
72
+
73
+ final Handler handlers = new Handler();
74
+
75
+ handlers.postDelayed(new Runnable() {
76
+
77
+ @Override
78
+
79
+ public void run() {
80
+
81
+ startRecordingVideo();
82
+
83
+ }
84
+
85
+ }, 3000);
86
+
87
+ //ここまでをいじった、下の行も
88
+
89
+
90
+
91
+ //startRecordingVideo();
92
+
93
+ //多分startだけ、
94
+
95
+ //stopは、あとで位f文でやりたい
96
+
97
+
98
+
99
+ Log.e(TAG,"撮影start");
100
+
101
+ final Handler handler = new Handler();
102
+
103
+ handler.postDelayed(new Runnable() {
104
+
105
+ @Override
106
+
107
+ public void run() {
108
+
109
+ Log.e(TAG,"撮影/////");
110
+
111
+ stopRecordingVideo();
112
+
113
+
114
+
115
+ }
116
+
117
+ }, 50000);
118
+
119
+ }
120
+
121
+
122
+
123
+ @Override
124
+
125
+ public void onConfigureFailed(@NonNull CameraCaptureSession session) {
126
+
127
+ }
128
+
129
+ }, mBackgroundHandler);
130
+
131
+ } catch (CameraAccessException e) {
132
+
133
+ e.printStackTrace();
134
+
135
+ }
136
+
137
+ }
120
138
 
121
139
  ```
122
140
 
141
+ //字数が足りないので一時的に画像にさせてください
142
+
143
+ ![イメージ説明](4e41d40b629adfeb6d632ed56f63773a.png)
144
+
145
+
146
+
147
+
148
+
123
149
  フォルダに、何本かの動画は保存されています。本数は、時と場合によって変わります。
124
150
 
125
151
  今回は、5秒かける6本撮影したところで、強制終了となりました。
@@ -213,3 +239,11 @@
213
239
 
214
240
 
215
241
  ```
242
+
243
+
244
+
245
+
246
+
247
+ コード
248
+
249
+ ```

2

ログをtextに変更

2017/08/21 02:40

投稿

giant
giant

スコア132

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,124 @@
1
1
  Camera2APIで5秒動画の連続撮影をしたいのですが、何本か撮影したところで、急にエラーが発生します。
2
2
 
3
- ![イメージ説明](96283dc347cb54d2b47f0593d901a446.png)
4
-
5
-
3
+ ```java
4
+
5
+ E/Camera2andPlayer: 撮影start
6
+
7
+ E/Camera2andPlayer: startRecordingVideo
8
+
9
+ E/Camera2andPlayer: setUpMediaRecorder
10
+
11
+ E/Camera2andPlayer: getVideoFilePathy
12
+
13
+ E/Camera2andPlayer: 下のConfigured
14
+
15
+ E/Camera2andPlayer: updatePreview
16
+
17
+ E/Camera2andPlayer: 撮影/////
18
+
19
+ E/Camera2andPlayer: stopRecordingVideo
20
+
21
+ E/IMGSRV: :0: WSEGL_GetDrawableParameters: Failed to obtain minimal parameters
22
+
23
+ E/IMGSRV: :0: KEGLGetDrawableParameters: Native window is invalid
24
+
25
+ E/libEGL: eglMakeCurrent:800 error 300b (EGL_BAD_NATIVE_WINDOW)
26
+
27
+ E/CameraDeviceGLThread-1: Received exception on GL render thread:
28
+
29
+ java.lang.IllegalStateException: makeCurrent: EGL error: 0x300b
30
+
31
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:530)
32
+
33
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.makeCurrent(SurfaceTextureRenderer.java:518)
34
+
35
+ at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:721)
36
+
37
+ at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105)
38
+
39
+ at android.os.Handler.dispatchMessage(Handler.java:98)
40
+
41
+ at android.os.Looper.loop(Looper.java:148)
42
+
43
+ at android.os.HandlerThread.run(HandlerThread.java:61)
44
+
45
+ E/Camera2andPlayer: Video saved: /storage/emulated/0/Download/cameraMovie/1503280316571.mp4
46
+
47
+ E/RequestThread-1: Timed out while waiting for request to complete.
48
+
49
+ E/CameraDeviceState: Cannot receive result while in state: 0
50
+
51
+ E/CameraDeviceState: Cannot receive result while in state: 0
52
+
53
+ E/CameraDeviceState: Cannot receive result while in state: 0
54
+
55
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] dequeueBuffer: BufferQueue has been abandoned
56
+
57
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] dequeueBuffer: BufferQueue has been abandoned
58
+
59
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] dequeueBuffer: BufferQueue has been abandoned
60
+
61
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] queueBuffer: BufferQueue has been abandoned
62
+
63
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
64
+
65
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
66
+
67
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
68
+
69
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
70
+
71
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
72
+
73
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
74
+
75
+ E/BufferQueueProducer: [SurfaceTexture-1-17565-40] cancelBuffer: BufferQueue has been abandoned
76
+
77
+ E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.camera2.CaptureRequest$Builder android.hardware.camera2.CameraDevice.createCaptureRequest(int)' on a null object reference
78
+
79
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:506)
80
+
81
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:811)
82
+
83
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
84
+
85
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:546)
86
+
87
+ at android.os.Handler.handleCallback(Handler.java:739)
88
+
89
+ at android.os.Handler.dispatchMessage(Handler.java:95)
90
+
91
+ at android.os.Looper.loop(Looper.java:148)
92
+
93
+ at android.os.HandlerThread.run(HandlerThread.java:61)
94
+
95
+ E/AndroidRuntime: FATAL EXCEPTION: CameraBackground
96
+
97
+ Process: com.google.android.exoplayer2.demo, PID: 17565
98
+
99
+ java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.camera2.CaptureRequest$Builder android.hardware.camera2.CameraDevice.createCaptureRequest(int)' on a null object reference
100
+
101
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.startPreview(Camera2andPlayerActivity.java:506)
102
+
103
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.stopRecordingVideo(Camera2andPlayerActivity.java:811)
104
+
105
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity.access$600(Camera2andPlayerActivity.java:99)
106
+
107
+ at com.google.android.exoplayer2.demo.Camera2andPlayerActivity$4$2.run(Camera2andPlayerActivity.java:546)
108
+
109
+ at android.os.Handler.handleCallback(Handler.java:739)
110
+
111
+ at android.os.Handler.dispatchMessage(Handler.java:95)
112
+
113
+ at android.os.Looper.loop(Looper.java:148)
114
+
115
+ at android.os.HandlerThread.run(HandlerThread.java:61)
116
+
117
+ 08-21 10:52:03.058 17565-17565/com.google.android.exoplayer2.demo E/Camera2andPlayer: onPause
118
+
119
+
120
+
121
+ ```
6
122
 
7
123
  フォルダに、何本かの動画は保存されています。本数は、時と場合によって変わります。
8
124
 

1

修正済みの部分のコードを消した

2017/08/21 01:54

投稿

giant
giant

スコア132

test CHANGED
File without changes
test CHANGED
@@ -70,10 +70,6 @@
70
70
 
71
71
  mIsRecordingVideo=true;
mMediaRecorder.start();
72
72
 
73
- mMediaRecorder.release();
74
-
75
- //この上のreleaseを消すべきだった
76
-
77
73
  }
78
74
 
79
75