Bonjour,
Je vous explique mon problème.
Je voudrais prendre capturer une photo pendant le streaming.
Donc dans la méthode "onPreviewFrame" je viens regarder si un flag est à "true" pour capturer la photo.
Et dans mon "Service" quand je reçois un message de mon webService, je met le flag à "true".
Voici ma classe singleton:
J'ai mis volontairement beaucoup de logs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 public class CameraManager { private static String TAG = "CameraManager"; private static CameraManager instance = null; private boolean shouldTakePicture = false; private String classA = null; private CameraManager(String classA) { this.classA = classA; } public static CameraManager getInstance(String classA) { Log.d(TAG, "cameraManager - getInstance -" + classA); if (CameraManager.instance == null) { Log.d(TAG, "cameraManager - instance == null - " + classA); synchronized(CameraManager.class) { if (CameraManager.instance == null) { CameraManager.instance = new CameraManager(classA); } } } return CameraManager.instance; } public synchronized boolean isShouldTakePicture() { Log.d(TAG, "cameraManager - shouldTakePicture: " + shouldTakePicture + " - " + classA); return shouldTakePicture; } public synchronized void setShouldTakePicture(boolean shouldTakePicture) { this.shouldTakePicture = shouldTakePicture; Log.e(TAG, "cameraManager - shouldTakePicture: " + shouldTakePicture + " - " + classA); } }
Voici les logs:
Comme vous pouvez le constater, le flag est bien mis à "true" par mon "Service" mais la valeur récupérer dans la méthode "onPreviewFrame" est toujours à "false".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 04-05 12:37:33.890: D/CameraManager(1549): cameraManager - getInstance -InfosSession 04-05 12:37:33.890: D/CameraManager(1549): cameraManager - instance == null - InfosSession 04-05 12:37:34.350: D/CameraManager(1549): cameraManager - getInstance -VideoCaptureAndroid 04-05 12:37:35.560: D/CameraManager(1549): cameraManager - shouldTakePicture: false - InfosSession 04-05 12:37:35.640: D/CameraManager(1549): cameraManager - shouldTakePicture: false - InfosSession .... 04-05 12:37:59.900: D/CameraManager(1549): cameraManager - shouldTakePicture: false - InfosSession 04-05 12:37:59.950: E/CameraManager(1529): cameraManager - shouldTakePicture: true - InfosSession 04-05 12:37:59.980: D/CameraManager(1549): cameraManager - shouldTakePicture: false - InfosSession 04-05 12:38:00.080: D/CameraManager(1549): cameraManager - shouldTakePicture: false - InfosSession 04-05 12:38:00.130: D/CameraManager(1549): cameraManager - shouldTakePicture: false - InfosSession ...
Je ne vois pas d'où vient mon problème.
Merci,
Drlord.
Partager