camera
Contents
camera 는 HSP 에서 기본으로 제공하는 API 로 사진을 촬영하거나 갤러리에서 사진을 불러오는 기능을 제공한다.
AndroidManifest.xml 내 uses-permission 을 추가하면 사용 가능 하다.
Example
<uses-permission android:name="android.permission.CAMERA"/>
camera 는 Android 에서 제공하는 Camera 를 사용할 수 있게 한다.
takePicture
카메라가 사용 가능한 경우 카메라로 찍어 로컬에 저장되어 있는 사진 또는 직접 사진 촬영을 통해 사진을 얻거나 내장 앨범으로부터 사진을 얻는다.
Camera 옵션을 전달하기 위해 CameraConfig 를 인자로 받아 처리하도록 구성되어 있다.
CameraConfig 클래스 정보와 각각의 변수 정보는 하단에 표를 참고 한다.
CameraConfig Class
public static class CameraConfig {
public int srcType;
public int destType;
public int quality;
public int width;
public int height;
}
public int srcType;
public int destType;
public int quality;
public int width;
public int height;
}
CameraConfig
필드 | 설명 | M/O |
---|---|---|
quality | 사진 품질 (범위 1~100 정수) | M |
width | 가로크기 픽셀 (0보다 작거나 같은 경우 원본 크기) | M |
height | 세로크기 픽셀 (0보다 작거나 같은 경우 원본 크기) | M |
sourceType | 입력소스타입
| M |
destType | 가져올 사진의 타입
| M |
카메라 촬영 사용 예
val cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
DAPCamera.takePicture(this@MainActivity, cfg, {
// TODO
}) {
// TODO
}
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
DAPCamera.takePicture(this@MainActivity, cfg, {
// TODO
}) {
// TODO
}
DAPCamera.CameraConfig cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
DAPCamera.takePicture(MainActivity.this, cfg, result -> {
// TODO
}, e -> {
// TODO
});
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
DAPCamera.takePicture(MainActivity.this, cfg, result -> {
// TODO
}, e -> {
// TODO
});
이미지 선택 사용 예
val cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
DAPCamera.takePicture(this@MainActivity, cfg, {
// TODO
}) {
// TODO
}
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
DAPCamera.takePicture(this@MainActivity, cfg, {
// TODO
}) {
// TODO
}
DAPCamera.CameraConfig cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
DAPCamera.takePicture(MainActivity.this, cfg, result -> {
// TODO
}, e -> {
// TODO
});
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
DAPCamera.takePicture(MainActivity.this, cfg, result -> {
// TODO
}, e -> {
// TODO
});
takeVideo
카메라가 사용 가능한 경우 카메라로 찍어 로컬에 저장되어 있는 동영상 또는 직접 동영상 촬영을 통해 동영상을 얻거나 내장 앨범으로부터 동영상을 얻는다.
options
필드 | 설명 | M/O |
---|---|---|
sourceType | 입력소스타입
| M |
동영상 촬영 사용 예
DAPCamera.takeVideo(this@MainActivity, "camera", {
// TODO
}) {
// TODO
}
// TODO
}) {
// TODO
}
DAPCamera. takeVideo(MainActivity.this, "camera", result -> {
// TODO
}, e -> {
// TODO
});
// TODO
}, e -> {
// TODO
});
동영상 선택 사용 예
DAPCamera.takeVideo(this@MainActivity, "libaray", {
// TODO
}) {
// TODO
}
// TODO
}) {
// TODO
}
DAPCamera. takeVideo(MainActivity.this, " libaray", result -> {
// TODO
}, e -> {
// TODO
});
// TODO
}, e -> {
// TODO
});
Error Code
Code | Cause | Comment |
---|---|---|
E11400 | 파라메터 값이 잘못되어 있을 경우 | |
E11401 | 전달된 액션 값이 알 수 없는 액션일 경우 | |
E11402 | 입력소스 타입 값이 잘못되어 있을 경우 | |
E11403 | 너비 값이 정수값이 아닌 경우 | |
E11404 | 높이 값이 정수값이 아닌 경우 | |
E11405 | 사진결과 타입 값이 잘못되어 있을 경우 | |
E11406 | 사진 품질 값이 1 ~ 100 사이의 정수값이 아닌 경우 | |
E11450 | 실행 중 오류가 발생 되었을 경우 | |
E11451 | 이미지 처리 중 오류가 발생 되었을 경우 | |
E11452 | 사용자가 실행을 취소 하였을 경우 | |
E11499 | 알 수 없는 오류가 발생 되었을 경우 | |