MediaMetadataRetriever

지프치프·2023년 11월 3일
0

Android

목록 보기
80/85

개요

비디오 파일로부터 썸네일을 가져오거나 이미지 파일의 해상도 등
미디어 파일의 메타데이터를 가져와야할 경우가 있다.
Android에서는 이를 쉽게 가져올 수 있는 라이브러리를 제공하는데
MediaMetadataRetriever가 그것이다.

간단하게 비디오파일의 해상도와 썸네일을 가져오는 방법을 예제로 작성해보았다.

registerForActivityResult 콜백을 통해 SAF로부터 전달받은 uri가 있다는 가정 하에 예제를 작성하였다.

썸네일 가져오기

동영상 파일의 썸네일을 가져오는 방법은 아래와 같다.

val mmr = MediaMetadataRetriever()
// Uri로부터 미디어파일의 정보를 가져온다.
mmr.setDataSource(this@MainActivity, uri)
// 썸네일로 가져올 동영상의 시간
// ex) 대상 동영상의 1초 화면을 가져온다.
val bitmap = mmr.getFrameAtTime(1000)
imageView.setImageBitmap(bitmap)

해상도

동영상 파일의 해상도를 가져오는 방법은 아레와 같다.

val mmr = MediaMetadataRetriever()
// Uri로부터 미디어파일의 정보를 가져온다.
mmr.setDataSource(this@MainActivity, uri)
// 가로
val width = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)?.toInt()!!
// 세로
val height = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)?.toInt()!!
profile
지프처럼 거침없는 개발을 하고싶은 개발자

0개의 댓글