media


Information

media는 4.16.29 버전 이상 부터 제공되며 해당 라이브러리를 추가하여 사용해야 된다.


camera

사진, 동영상 촬영을 수행하여 얻은 사진, 동영상 파일을 앱 내 설정된 미디어 기본 로컬 폴더 경로에 저장한다.

options

필드설명비고M/O
mediaType미디어 타입
  • photo : 사진
  • video : 동영상
대소문자 구분 없음M
filename로컬 폴더에 저장 될 파일명

"/" 을 포함하지 않은 파일명만 입력
파일명 지정하지 않은 경우, 미디어 타입별로 설정되는 파일명 기본값 (시간(H) : 24시간제)

  • photo

    -  photo_현재날짜(yyyyMMdd)_현재시간(HHmmss)

  • video

    -  video_현재날짜(yyyyMMdd)_현재시간(HHmmss) 

미디어 타입별로 설정되는 기본 파일 확장자

  • photo : jpg
  • video : mp4
O
overwrite덮어쓰기 여부
  • true : 덮어쓰기 
  • false : "기존 파일명 (중복수)"으로 적용
기본값 falseO
saveAlbum앨범 내 저장 여부
  • true : 라이브러리 앨범 내에도 저장 
  • false : 미디어 저장 기본 로컬 디렉토리 내에만 저장
기본값 falseO
allowEdit편집 기능 사용 여부
  • true : 편집 기능 활성화

    - photo : 촬영된 사진 회전 및 정방형 사이즈로 자르기 기능
    - video : 촬영 영상 구간 편집 기능

  • false : 편집 기능 비활성화
기본값 falseO
    

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

var options = {
   "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

var path = "/media/sample.jpg";

hone.channel.execute('media', 'save', [path],
function(){
        alert("save success");
    },
   function(e){
       // error callback
       alert(JSON.stringify(e));
    }
);

getFiles

특정 경로의 디렉토리 리스트와 파일 정보 리스트를 출력한다. 

options

필드설명비고M/O
mediaType미디어 타입
  • photo : 사진
  • video : 동영상
대소문자 구분 없음M
path정보를 가져 올 디렉토리 경로

"/" 를 시작으로 앱 내 Documents 디렉토리 기준 절대 경로,
값을 설정하지 않은 경우, 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

var options = {
"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

var options = {
"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미디어 타입
  • photo : 사진
  • video : 동영상
대소문자 구분 없음M
pathType미디어 접근 경로 타입
  • album : 앨범
  • local : 로컬 디렉토리
대소문자 구분 없음M
maxCount최대 미디어 선택 개수 (최대 : 30)기본값 1O
column미디어 선택 화면 컬럼 수 (최대 : 10)기본값 3O
    

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

var options = {
"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

이미지를 회전하거나 영역 비율을 선택 및 조절하여 원하는 영역으로 자른다.

Information

제공 비율

  • 원본 이미지 비율
  • 자유
  • 1:1(시작 값)
  • 3:4
  • 4:3
  • 9:16
  • 16:9

options

필드필드설명비고M/O
filename 로컬 폴더에 저장 될 파일명

"/" 을 포함하지 않은 파일명만 입력
파일명 지정하지 않은 경우, 미디어 타입별로 설정되는 파일명 기본값 (시간(H) : 24시간제)

  • crop_photo_현재날짜(yyyyMMdd)_현재시간(HHmmss)
O
pathType 미디어 접근 경로 타입
  • album : 앨범
  • local : 로컬 디렉토리
대소문자 구분 없음M
path 미디어 접근 경로

미디어 경로 타입이 album 으로 선택 된 경우

  • 설정 된 경로는 무시

미디어 경로 타입이 local 인 경우

  • 경로만 설정 된 경우

    - 설정 된 디렉토리 및 하위 디렉토리의 모든 이미지 선택 화면 표시

  • 파일명이 포함 된 경로인 경우

    - 설정 된 파일의 이미지 표시

  • 값이 없는 경우

    - 앱내 로컬 디렉토리 및 하위 하위 디렉토리의 모든 이미지 선택 화면 표시

O
overwrite 덮어쓰기 여부
  • true : 덮어쓰기 
  • false : "기존 파일명 (중복수)"으로 적용
기본값 falseO
saveAlbum 앨범 내 저장 여부
  • true : 라이브러리 앨범 내에도 저장 
  • false : 미디어 저장 기본 로컬 디렉토리 내에만 저장
기본값 falseO
dimension 해상도

단위 픽셀
설정하지 않으면 실제 Pixel 크기 기준으로 생성

width이미지 너비1~2147483647 범위의 정수 값 
height이미지 높이1~2147483647 범위의 정수 값 
format 이미지 파일 포멧
  • png
  • jpg
기본값 jpgO
quality 이미지 품질

파일 포맷이 JPG인 경우에만 품질 설정 가능
1~100 사이의 정수값
기본값 100

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

var options = {
"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

var paths = ["/media/sample.jpg", "/media/sample2.jpg"];

hone.channel.execute('media', 'remove', [paths],
   function(){
        alert("remove success");
    },
   function(e){
       // error callback
       alert(JSON.stringify(e));
    }
);

optimize

이미지의 해상도 및 품질을 최적화 한다. 이때 옵션을 통해 앨범 및 앱내의 미디어 파일을 선택할 수 있으며,  옵션을 전달하기 위해 OptimizeConfig를 인자로 받아 처리하도록 구성되어 있다.

options

필드필드설명비고M/O
filename 로컬 폴더에 저장 될 파일명

"/" 을 포함하지 않은 파일명만 입력
파일명 지정하지 않은 경우, 미디어 타입별로 설정되는 파일명 기본값 (시간(H) : 24시간제)

  • optimize_photo_현재날짜(yyyyMMdd)_현재시간(HHmmss)
O
pathType 미디어 접근 경로 타입
  • album : 앨범
  • local : 로컬 디렉토리
대소문자 구분 없음M
path 미디어 접근 경로

미디어 경로 타입이 album 으로 선택 된 경우

  • 설정 된 경로는 무시

미디어 경로 타입이 local 인 경우

  • 경로만 설정 된 경우

    - 설정 된 디렉토리 및 하위 디렉토리의 모든 이미지 선택 화면 표시

  • 파일명이 포함 된 경로인 경우

    - 설정 된 파일의 이미지 표시

  • 값이 없는 경우

    - 앱내 로컬 디렉토리 및 하위 하위 디렉토리의 모든 이미지 선택 화면 표시

O
overwrite 덮어쓰기 여부
  • true : 덮어쓰기 
  • false : "기존 파일명 (중복수)"으로 적용
기본값 falseO
saveAlbum 앨범 내 저장 여부
  • true : 라이브러리 앨범 내에도 저장 
  • false : 미디어 저장 기본 로컬 디렉토리 내에만 저장
기본값 falseO
dimension 해상도

단위 픽셀
설정하지 않으면 실제 Pixel 크기 기준으로 생성

width이미지 너비1~2147483647 범위의 정수 값 
height이미지 높이1~2147483647 범위의 정수 값 
format 이미지 파일 포멧
  • png
  • jpg
기본값 jpgO
quality 이미지 품질

파일 포맷이 JPG인 경우에만 품질 설정 가능
1~100 사이의 정수값
기본값 100

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

var options = {
"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

CodeCauseComment 
E12900파라메터 값이 잘못 되어 있을 경우 
E12901전달된 액션 값이 알 수 없는 액션일 경우 
E12902

미디어 타입 정보가 null 이거나 빈 값인 경우
값이 photo, video, all 외 다른 값인 경우

 
E12903파일명 정보가 문자열이 아닌 경우 
E12904덮어쓰기 여부 정보가 boolean 타입이 아닌 경우 
E12905앨범 내 저장 여부 정보가 boolean 타입이 아닌 경우 
E12906편집 모드 사용 여부 정보가 boolean타입이 아닌 경우 
E12907경로 정보가 null 이거나 빈 값인 경우,  
E12908

접근할 미디어 경로 타입 정보가 null 이거나 빈 값인 경우
값이 album, local외 다른 값인 경우

 
E12909최대 미디어 선택 개수 정보가 1~30 범위의 정수 값이 아닌 경우 
E12910미디어 선택 화면 컬럼 수 정보 1~10 범위의 정수 값이 아닌 경우 
E12911

이미지 파일 포맷 정보가 null 이거나 빈 값인 경우
값이 jpg, png 외 다른 값인 경우

 
E12912이미지 품질 정보가 1100 범위의 정수 값이 아닌 경우 
E12913이미지 리사이즈를 위한 dimension 정보의 width, height 값이 1~2147483647 범위의 정수 값이 아닌 경우 
E12950실행 중 오류가 발생했을 때 
E12951이미지 파일 편집 중 오류가 발생 되었을 경우 
E12952비디오 파일 저장 중 오류가 발생 되었을 경우 
E12953이미지 파일 사이즈 조절 중 오류가 발생 되었을 경우 
E12954이미지 파일 품질 조절 중 오류가 발생 되었을 경우 
E12955앨범으로 저장 중 오류가 발생 되었을 경우 
E12956미디어 저장 중 오류가 발생 되었을 경우 
E12957이미지 정보 가져오는 중 오류가 발생 되었을 경우 
E12958비디오 정보 가져오는 중 오류가 발생 되었을 경우 
E12959파일이 존재하지 않는 경우 
E12960경로가 존재하지 않는 경우 
E12961사용자가 실행을 취소 하였을 경우 
E12962사진 촬영 중 오류가 발생 되었을 경우 
E12963영상 녹화 중 오류가 발생 되었을 경우 
E12964이미지 처리 중 오류가 발생 되었을 경우 
E12999알 수 없는 오류가 발생 되었을 경우