Fotoğraf makinesinin önizleme çerçevelerini bir yüzeye sahip bir uygulamam var. Android 4.0.4 üzerinde çalışıyordu ancak güncelleme sonrasında aynı cihazda Jelly Bean, 4.1.2 ile çalışmıyor. Basitçe, geri arama asla geri çağrılmaz. İşte kod: biraz snipped:Android Camera Preview Geri çağrılmadı 4.1
public class Panel extends Activity {
Camera myCamera;
int cameraId = -1;
MyCameraSurfaceView myCameraSurfaceView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_panel);
myCamera = getCameraInstance();
myCamera.setPreviewCallback(new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
Log.d("Camera Preview", data.length + "");
}
});
myCameraSurfaceView = new MyCameraSurfaceView(this, myCamera);
FrameLayout myCameraPreview = (FrameLayout) findViewById(R.id.videoview);
myCameraPreview.addView(myCameraSurfaceView);
}
private Camera getCameraInstance() {
Camera c = null;
try {
c = Camera.open();
} catch (Exception e) {
e.printStackTrace();
}
return c;
}
public class MyCameraSurfaceView extends SurfaceView implements
SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
public MyCameraSurfaceView(Context context, Camera camera) {
super(context);
mCamera = camera;
mHolder = getHolder();
mHolder.addCallback(this);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
mCamera.setPreviewDisplay(holder);
mCamera.startPreview();
} catch (IOException e) {
}
}
}
}
video kareleri aktivite görüntülenen ediliyor, bu yüzden ben yanlış yapıyorum anlamaya olamaz.
Yüzünüz işleniyor mu? – spartygw
Üzgünüz, kodu uzun zaman önce değiştirdim, şimdi emin değilim. – Mustafa