반응형
시작
MP4 파일의 경우 영상 섬네일이 없이 오디오만 녹음된 경우가 있다. 때문에 영상 아이템이 아닌 음악 아이템으로 첨부해야 하는 경우가 있어 영상 데이터가 존재하는지 확인해야 했다.
MediaMetadataRetriever 를 사용
MediaMetadataRetriever를 사용하면 Media 파일의 몇 가지 정보들을 알아 올 수 있다.
fun isVideoFile(context: Context, uri: Uri):Boolean{
try{
val retriever = MediaMetadataRetriever()
retriever.setDataSource(context, uri)
val hasVideo = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO) // 영상인지
return !(hasVideo==null || hasVideo == "no")
}
catch (e: RuntimeException){
logW(TAG, "isVideoFile", e)
return false
}
}
위 코드를 보면 MediaMetadataRetriever에 Uri를 전달하여 영상 데이터를 갖고 있는지 확인할 수 있다.
int | If this key exists the media contains video content. |
METADATA_KEY_HAS_VIDEO |
MediaMetadataRetriever를 잘만 이용한다면 더 많은 처리를 할 수 있을 것 같아 다른 부분에서도 이용하면 좋을 것 같다.
참조
'개발 > Android' 카테고리의 다른 글
[Android] EXTERNAL 저장소의 미디어 파일 가져오기 (2) | 2023.10.26 |
---|---|
[Android][Shortcut] 바로 가기 위젯 만드는 법 (0) | 2023.10.23 |
[Android] 가로 모드에서 확장형 키보드 막기 (0) | 2023.10.11 |
[Android] 단말기 정보 가져오기 (0) | 2023.08.03 |
[Open Source] AudioTrack 소개 및 PCM 파일 재생 (0) | 2023.07.26 |