media
camera
사진, 동영상 촬영을 수행하여 얻은 사진, 동영상 파일을 앱 내 설정된 미디어 기본 로컬 폴더 경로에 저장한다.
options
| 필드 | 설명 | 비고 | M/O |
|---|---|---|---|
| mediaType | 미디어 타입
| 대소문자 구분 없음 | M |
| filename | 로컬 폴더에 저장 될 파일명 | "/" 을 포함하지 않은 파일명만 입력
미디어 타입별로 설정되는 기본 파일 확장자
| O |
| overwrite | 덮어쓰기 여부
| 기본값 false | O |
| saveAlbum | 앨범 내 저장 여부
| 기본값 false | O |
| allowEdit | 편집 기능 사용 여부
| 기본값 false | O |
successCallback
| 필드 | 필드 | 필드 | 설명 |
|---|---|---|---|
| result | 성공 객체 | ||
| mediaType | 미디어 타입(photo, video) | ||
| path | 앱 내 Documents 폴더 기준 저장된 파일의 절대 경로 | ||
| fullpath | 앱 내 저장된 파일의 파일명을 포함한 전체 경로 | ||
| name | 저장된 파일의 이름과 확장자 | ||
| format | 파일 확장자 | ||
| size | 파일 크기, 단위는 Byte | ||
| dimension | 해상도 | ||
| width | 이미지 너비 | ||
| height | 이미지 높이 | ||
| savedTime | 파일 저장 시간(ms) | ||
| orientation | 회전 상태 (0, 90, 180, 270) | ||
| duration | video 인 경우 재생시간(초) | ||
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
"mediaType":"photo"
};
hone.channel.execute('media', 'camera', [options],
function(result){
// success callback
alert(JSON.stringify(result));
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
Result
"mediaType": "photo",
"path":"/media",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/photo_20241029_145710.jpg",
"name":"photo_20241029_145710.jpg",
"format":"jpg",
"size":5453,
"dimension": {
"width" : 200,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
}
save
로컬 디렉토리 내의 미디어 파일을 앨범으로 저장 한다
options
| 필드 | 설명 | 비고 | M/O |
|---|---|---|---|
| path | 앨범으로 저장할 미디어 파일의 경로 | "/" 를 시작으로 파일명과 확장자를 포함한 한 앱 내 Documents 디렉토리 기준 절대 경로 | M |
| |
successCallback
| 필드 | 설명 |
|---|---|
| 없음 | 없음 |
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
hone.channel.execute('media', 'save', [path],
function(){
alert("save success");
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
getFiles
특정 경로의 디렉토리 리스트와 파일 정보 리스트를 출력한다.
options
| 필드 | 설명 | 비고 | M/O |
|---|---|---|---|
| mediaType | 미디어 타입
| 대소문자 구분 없음 | M |
| path | 정보를 가져 올 디렉토리 경로 | "/" 를 시작으로 앱 내 Documents 디렉토리 기준 절대 경로, | O |
successCallback
| 필드 | 필드 | 필드 | 설명 | ||
|---|---|---|---|---|---|
| result | 성공 객체 | ||||
| dirs | 해당 경로의 하위 디렉토리 전체 경로 리스트(Array) | ||||
| files | 해당 경로의 파일 정보 리스트(JSON Array) | ||||
| mediaType | 미디어 타입(photo, video) | ||||
| path | 앱 내 Documents 폴더 기준 저장된 파일의 절대 경로 | ||||
| fullpath | 앱 내 저장된 파일의 파일명을 포함한 전체 경로 | ||||
| name | 저장된 파일의 이름과 확장자 | ||||
| format | 파일 확장자 | ||||
| size | 파일 크기, 단위는 Byte | ||||
| dimension | 해상도 | ||||
| width | 이미지 너비 | ||||
| height | 이미지 높이 | ||||
| savedTime | 파일 저장 시간(ms) | ||||
| orientation | 회전 상태 (0, 90, 180, 270) | ||||
| duration | video 인 경우 재생시간(초) | ||||
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
"mediaType":"photo",
"path":"/media"
};
hone.channel.execute('media', 'getFiles', [options],
function(result){
// success callback
alert(JSON.stringify(result));
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
Result
"dirs": ["/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/photo",
"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/video",
"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/tmp"],
"files":[{
"mediaType": "photo",
"path": "/media",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/sample.jpg",
"name": "sample.jpg",
"format":"jpg",
"size": 5145,
"dimension": {
"width" : 200,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
},
{"mediaType": "photo",
"path": "/media",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/sample1.jpg",
"name": "sample1.jpg",
"format":"jpg",
"size": 7835,
"dimension": {
"width" : 400,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
}]
}
getInfo
로컬 디렉토리 내의 미디어 파일의 상세 정보를 전달 한다.
options
| 필드 | 설명 | 비고 | M/O |
|---|---|---|---|
| path | 미디어 파일의 경로 | "/" 를 시작으로 파일명과 확장자를 포함한 한 앱 내 Documents 디렉토리 기준 절대 경로 | M |
successCallback
| 필드 | 필드 | 필드 | 설명 |
|---|---|---|---|
| result | 성공 객체 | ||
| mediaType | 미디어 타입(photo, video) | ||
| path | 앱 내 Documents 폴더 기준 저장된 파일의 절대 경로 | ||
| fullpath | 앱 내 저장된 파일의 파일명을 포함한 전체 경로 | ||
| name | 저장된 파일의 이름과 확장자 | ||
| format | 파일 확장자 | ||
| size | 파일 크기, 단위는 Byte | ||
| dimension | 해상도 | ||
| width | 이미지 너비 | ||
| height | 이미지 높이 | ||
| savedTime | 파일 저장 시간(ms) | ||
| orientation | 회전 상태 (0, 90, 180, 270) | ||
| duration | video 인 경우 재생시간(초) | ||
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
"path":"/media/sample.jpg"
};
hone.channel.execute('media', 'getInfo', [options],
function(result){
// success callback
alert(JSON.stringify(result));
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
Result
"mediaType": "photo",
"path":"/media",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/photo_20241029_145710.jpg",
"name":"photo_20241029_145710.jpg",
"format":"jpg",
"size":5453,
"dimension": {
"width" : 200,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
}
picker
앨범 및 앱 내 미디어 파일을 선택하여 정보를 가져온다.
이때, 옵션을 통해 최대 선택 개수를 지정하거나 이미지나 동영상 파일들만 선택할 수 있도록 지정할 수도 있다.
options
| 필드 | 설명 | 비고 | M/O |
|---|---|---|---|
| mediaType | 미디어 타입
| 대소문자 구분 없음 | M |
| pathType | 미디어 접근 경로 타입
| 대소문자 구분 없음 | M |
| maxCount | 최대 미디어 선택 개수 (최대 : 30) | 기본값 1 | O |
| column | 미디어 선택 화면 컬럼 수 (최대 : 10) | 기본값 3 | O |
successCallback
| 필드 | 필드 | 필드 | 설명 |
|---|---|---|---|
| result | 성공 객체 | ||
| mediaType | 미디어 타입(photo, video) | ||
| path | 앱 내 Documents 폴더 기준 저장된 파일의 절대 경로 | ||
| fullpath | 앱 내 저장된 파일의 파일명을 포함한 전체 경로 | ||
| name | 저장된 파일의 이름과 확장자 | ||
| format | 파일 확장자 | ||
| size | 파일 크기, 단위는 Byte | ||
| dimension | 해상도 | ||
| width | 이미지 너비 | ||
| height | 이미지 높이 | ||
| savedTime | 파일 저장 시간(ms) | ||
| orientation | 회전 상태 (0, 90, 180, 270) | ||
| duration | video 인 경우 재생시간(초) | ||
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
"mediaType": "photo",
"pathType": "album",
"maxCount": 2,
"column":4
};
hone.channel.execute('media', 'picker', [options],
function(result){
// success callback
alert(JSON.stringify(result));
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
Result
[{"mediaType": "photo",
"path": "/media/photo",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/photo/sample.jpg",
"name": "sample.jpg",
"format":"jpg",
"size": 5145,
"dimension": {
"width" : 200,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
},
{"mediaType": "photo",
"path": "/media/photo",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/photo/sample1.jpg",
"name": "sample1.jpg",
"format":"jpg",
"size": 7835,
"dimension": {
"width" : 400,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
}]
}
crop
이미지를 회전하거나 영역 비율을 선택 및 조절하여 원하는 영역으로 자른다.
options
| 필드 | 필드 | 설명 | 비고 | M/O |
|---|---|---|---|---|
| filename | 로컬 폴더에 저장 될 파일명 | "/" 을 포함하지 않은 파일명만 입력
| O | |
| pathType | 미디어 접근 경로 타입
| 대소문자 구분 없음 | M | |
| path | 미디어 접근 경로 | 미디어 경로 타입이 album 으로 선택 된 경우
미디어 경로 타입이 local 인 경우
| O | |
| overwrite | 덮어쓰기 여부
| 기본값 false | O | |
| saveAlbum | 앨범 내 저장 여부
| 기본값 false | O | |
| dimension | 해상도 | 단위 픽셀 | O | |
| width | 이미지 너비 | 1~2147483647 범위의 정수 값 | ||
| height | 이미지 높이 | 1~2147483647 범위의 정수 값 | ||
| format | 이미지 파일 포멧
| 기본값 jpg | O | |
| quality | 이미지 품질 | 파일 포맷이 JPG인 경우에만 품질 설정 가능 | O | |
successCallback
| 필드 | 필드 | 필드 | 설명 |
|---|---|---|---|
| result | 성공 객체 | ||
| mediaType | 미디어 타입(photo, video) | ||
| path | 앱 내 Documents 폴더 기준 저장된 파일의 절대 경로 | ||
| fullpath | 앱 내 저장된 파일의 파일명을 포함한 전체 경로 | ||
| name | 저장된 파일의 이름과 확장자 | ||
| format | 파일 확장자 | ||
| size | 파일 크기, 단위는 Byte | ||
| dimension | 해상도 | ||
| width | 이미지 너비 | ||
| height | 이미지 높이 | ||
| savedTime | 파일 저장 시간(ms) | ||
| orientation | 회전 상태 (0, 90, 180, 270) | ||
| duration | video 인 경우 재생시간(초) | ||
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
"filename":"sample_crop",
"pathType": "album",
"overwrite": false,
"saveAlbum": true,
"format": "jpg",
"quality": 100
};
hone.channel.execute('media', 'crop', [options],
function(result){
// success callback
alert(JSON.stringify(result.path));
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
Result
"mediaType": "photo",
"path": "/media/photo",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/photo/sample_crop.jpg",
"name": "sample_crop.jpg",
"format":"jpg",
"size": 5145,
"dimension": {
"width" : 200,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
}
remove
로컬 디렉토리 내의 미디어 파일을 삭제 한다.
options
| 필드 | 설명 | 비고 | M/O |
|---|---|---|---|
| paths | 삭제 할 미디어 파일의 경로 목록 | "/" 를 시작으로 파일명과 확장자를 포함한 한 앱 내 Documents 디렉토리 기준 절대 경로 | M |
successCallback
| 필드 | 설명 |
|---|---|
| 없음 | 없음 |
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
hone.channel.execute('media', 'remove', [paths],
function(){
alert("remove success");
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
optimize
이미지의 해상도 및 품질을 최적화 한다. 이때 옵션을 통해 앨범 및 앱내의 미디어 파일을 선택할 수 있으며, 옵션을 전달하기 위해 OptimizeConfig를 인자로 받아 처리하도록 구성되어 있다.
options
| 필드 | 필드 | 설명 | 비고 | M/O |
|---|---|---|---|---|
| filename | 로컬 폴더에 저장 될 파일명 | "/" 을 포함하지 않은 파일명만 입력
| O | |
| pathType | 미디어 접근 경로 타입
| 대소문자 구분 없음 | M | |
| path | 미디어 접근 경로 | 미디어 경로 타입이 album 으로 선택 된 경우
미디어 경로 타입이 local 인 경우
| O | |
| overwrite | 덮어쓰기 여부
| 기본값 false | O | |
| saveAlbum | 앨범 내 저장 여부
| 기본값 false | O | |
| dimension | 해상도 | 단위 픽셀 | O | |
| width | 이미지 너비 | 1~2147483647 범위의 정수 값 | ||
| height | 이미지 높이 | 1~2147483647 범위의 정수 값 | ||
| format | 이미지 파일 포멧
| 기본값 jpg | O | |
| quality | 이미지 품질 | 파일 포맷이 JPG인 경우에만 품질 설정 가능 | O | |
successCallback
| 필드 | 필드 | 필드 | 설명 |
|---|---|---|---|
| result | 성공 객체 | ||
| mediaType | 미디어 타입(photo, video) | ||
| path | 앱 내 Documents 폴더 기준 저장된 파일의 절대 경로 | ||
| fullpath | 앱 내 저장된 파일의 파일명을 포함한 전체 경로 | ||
| name | 저장된 파일의 이름과 확장자 | ||
| format | 파일 확장자 | ||
| size | 파일 크기, 단위는 Byte | ||
| dimension | 해상도 | ||
| width | 이미지 너비 | ||
| height | 이미지 높이 | ||
| savedTime | 파일 저장 시간(ms) | ||
| orientation | 회전 상태 (0, 90, 180, 270) | ||
| duration | video 인 경우 재생시간(초) | ||
errorCallback
| 필드 | 설명 |
|---|---|
| code | 에러코드 |
| message | 에러메세지 |
Example
"filename":"new_sample",
"pathType": "album",
"overwrite": false,
"saveAlbum": true,
"dimension": {
"width" : 200,
"height" : 200
},
"format": "jpg",
"quality": 100
};
hone.channel.execute('media', 'optimize', [options],
function(result){
// success callback
alert(JSON.stringify(result.path));
},
function(e){
// error callback
alert(JSON.stringify(e));
}
);
Result
"mediaType":"photo",
"path":"/media",
"fullpath":"/var/mobile/Containers/Data/Application/96FCF7C7-7F10-4699-ADE8-B174BCF2F579/Documents/media/new_sample.jpg",
"name":"new_sample.jpg",
"format":"jpg",
"size":5453,
"dimension": {
"width" : 200,
"height" : 200
},
"savedTime": 1661211824899,
"orientation": "0"
}
Error Code
| Code | Cause | Comment | |
|---|---|---|---|
| E12900 | 파라메터 값이 잘못 되어 있을 경우 | ||
| E12901 | 전달된 액션 값이 알 수 없는 액션일 경우 | ||
| E12902 | 미디어 타입 정보가 null 이거나 빈 값인 경우 | ||
| E12903 | 파일명 정보가 문자열이 아닌 경우 | ||
| E12904 | 덮어쓰기 여부 정보가 boolean 타입이 아닌 경우 | ||
| E12905 | 앨범 내 저장 여부 정보가 boolean 타입이 아닌 경우 | ||
| E12906 | 편집 모드 사용 여부 정보가 boolean타입이 아닌 경우 | ||
| E12907 | 경로 정보가 null 이거나 빈 값인 경우, | ||
| E12908 | 접근할 미디어 경로 타입 정보가 null 이거나 빈 값인 경우 | ||
| E12909 | 최대 미디어 선택 개수 정보가 1~30 범위의 정수 값이 아닌 경우 | ||
| E12910 | 미디어 선택 화면 컬럼 수 정보 1~10 범위의 정수 값이 아닌 경우 | ||
| E12911 | 이미지 파일 포맷 정보가 null 이거나 빈 값인 경우 | ||
| E12912 | 이미지 품질 정보가 1100 범위의 정수 값이 아닌 경우 | ||
| E12913 | 이미지 리사이즈를 위한 dimension 정보의 width, height 값이 1~2147483647 범위의 정수 값이 아닌 경우 | ||
| E12950 | 실행 중 오류가 발생했을 때 | ||
| E12951 | 이미지 파일 편집 중 오류가 발생 되었을 경우 | ||
| E12952 | 비디오 파일 저장 중 오류가 발생 되었을 경우 | ||
| E12953 | 이미지 파일 사이즈 조절 중 오류가 발생 되었을 경우 | ||
| E12954 | 이미지 파일 품질 조절 중 오류가 발생 되었을 경우 | ||
| E12955 | 앨범으로 저장 중 오류가 발생 되었을 경우 | ||
| E12956 | 미디어 저장 중 오류가 발생 되었을 경우 | ||
| E12957 | 이미지 정보 가져오는 중 오류가 발생 되었을 경우 | ||
| E12958 | 비디오 정보 가져오는 중 오류가 발생 되었을 경우 | ||
| E12959 | 파일이 존재하지 않는 경우 | ||
| E12960 | 경로가 존재하지 않는 경우 | ||
| E12961 | 사용자가 실행을 취소 하였을 경우 | ||
| E12962 | 사진 촬영 중 오류가 발생 되었을 경우 | ||
| E12963 | 영상 녹화 중 오류가 발생 되었을 경우 | ||
| E12964 | 이미지 처리 중 오류가 발생 되었을 경우 | ||
| E12999 | 알 수 없는 오류가 발생 되었을 경우 | ||
