Fotoğraf makinesiyle çekilen resimlere ihtiyaç duyan bir uygulama yazıyorum. Gerçek bir fotoğraf çekmeye çalıştığımda sorun ortaya çıkıyor. İşte beni rahatsız eden kod:PictureCallback.onPictureTaken hiç çağrılmadı
final ShutterCallback shutterCallback = new ShutterCallback() {
@Override
public void onShutter() {
Log.d(TAG, "onShutter");
}
};
final PictureCallback callback = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Log.d(TAG, "onPictureTaken - jpeg");
try {
//async task for storing the photo
new SavePhotoTask(CameraView.this.ctx, data).execute();
} catch (final SavePhotoException e) {
//some exceptionhandling
}
}
};
this.camera = Camera.open();
this.camera.setPreviewDisplay(surfaceHolder);
final Camera.Parameters parameters = findBestParameters(w, h);
this.camera.setParameters(parameters);
this.camera.startPreview();
Log.d(TAG, "takePicture now!");
this.camera.takePicture(shutterCallback, null, callback);
emülatörü üzerinde dışarı iş gibi görünüyor ama Telefonuma (Motorola Defy - android 2.1).
Asıl sorun: telefonda hiçbir zaman "onPictureTaken" olmuyor. Shuttercallback yürütülür, ancak diğeri değildir (ve jpeg yerine aynı şeyle denedim).
Bu problemi bilen var mı? Farkın şu anda emülatörün nerede olduğunu göremiyorum. Yardımın için minnettarım.
İsa Bunu okumadan önce wtf'nin problem olduğunu bilmeden çok fazla saat kaybettim. Teşekkürler! –
muhtemelen bana hata ayıklama çaba günlerini kurtardı – buster
benim için çalıştı, stopPreview() çok yakında – Sudara