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:
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);
	}
}
J'ai mis volontairement beaucoup de logs.

Voici les logs:
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
...
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".

Je ne vois pas d'où vient mon problème.

Merci,
Drlord.