제목에 내 문제가 잘 설명되어 있다고 생각합니다.camera.takePicture()를 여러 번 사용하면 마지막 사진 만 저장됩니다.
takeFocusedPhoto("a");
doSomethingElse();
takeFocusedPhoto("b");
doSomethingElse();
takeFocusedPhoto("c");
doSomethingElse();
takeFocusedPhoto("d");
하지만 내 코드는 마지막 (d.jpg)를 저장 관리 : 기본적으로
, 무엇을 난`이 일을하려고하는 것은 이것이다.doSomethingElse는() actualy 내 휴대 전화 스탠드 (I 방에있는 모든 벽의 사진을 촬영하고자하는 플랫폼을 회전하는 기능입니다.
은? I`d가 감사를이 문제를 해결하는 쉬운 방법이 있나요 도움이나 제안의 모든 종류의코드 :.
/** Takes photo with default settings */
public void takePhoto(){
camera.startPreview();
camera.takePicture(null, rawCallback, jpegCallback);
camera.stopPreview();
}
/** Takes photo using Auto Focus function */
public void takeFocusedPhoto(String name){
filename=name;
isAutoFocused=false;
camera.startPreview();
AutoFocusClbk afcb = new AutoFocusClbk();
camera.autoFocus(afcb);
if(isAutoFocused){
Log.d(TAG, "takeFocusedPhoto - AutoFocused");
}
else{
Log.d(TAG, "takeFocusedPhoto - NOT AutoFocused");
}
camera.takePicture(null, rawCallback, jpegCallback);
camera.stopPreview();
}
/** Releases the interface */
public void closeCamera(){
camera.release();
}
/** Shutter */
/*ShutterCallback shutterCallback = new ShutterCallback() {
public void onShutter() {
Log.d(TAG, "onShutter'd");
}
};*/
/** Handles data for raw picture */
PictureCallback rawCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
Log.d(TAG, "onPictureTaken - RAW");
}
};
/** Handles data for jpeg picture */
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream outStream = null;
try {
//write the file to sdcard
outStream = new FileOutputStream(String.format("/sdcard/"+filename+".jpg"));
outStream.write(data);
outStream.close();
Log.d(TAG, "onPictureTaken - SUCCESS! - wrote bytes: " + data.length);
} catch (FileNotFoundException e) {
Log.d(TAG, "onPictureTaken - FAILURE - FileNotFound");
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
Log.d(TAG, "onPictureTaken - JPEG");
}
};
/** AutoFocus Callback */
private class AutoFocusClbk implements Camera.AutoFocusCallback{
public void onAutoFocus(boolean success, Camera camera){
isAutoFocused = success;
Log.d(TAG, "onAutoFocus - AutoFocused: "+success);
}
};
}
고맙습니다. 정말 도움이되었습니다. :) – scana