마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

비디오 파일 용량을 Byte → MB로 변환하는법을 모르겠습니다.

0 추천

public class VideoData {

 public int VideoId;
 public String VideoPath;
 public String VideoTitle;
 public String VideoName;
 public String VideoSize;
 public long VideoDuration;
 public String VideoAddDate;
 public int VideoWidth;
 public int VideoHeight;

 public VideoData() {
  VideoWidth = 0;
  VideoHeight = 0;
  VideoId = 0;
  VideoSize = null;
  VideoDuration = 0;
  VideoPath = null;
  VideoTitle = null;
  VideoName = null;

 }

 public String getVideoName() {
  return this.VideoName;
 }

 public String getVideoSize() {

  return this.VideoSize;
 }


}

 

MediaStore를 이용하여 DATA, SIZE, DISPLAY_NAME.... 등을 불러오고 VideoData 클래스를 ArrayList로 리턴받아 ArrayAdapter를 이용해 리스트뷰를 연결해주고 getView를 통해 보여주고 있습니다. (viewHolder 역시 이용하고 있습니다)

 

이렇게해서 썸네일, 비디오파일, 사이즈를 화면에 표시하는데 성공했습니다.

다만, 비디오 파일 사이즈가 [6243815, 324252717]로 표시되는걸로 보아서 Byte로 표시되는 것같습니다. 이를 MB로 변환해 주고 싶은데... 어떠한 함수를 사용해야하는지 모르겠습니다.

 

 

CEL (1,140 포인트) 님이 2013년 12월 23일 질문
Byte 사이즈가 아니라 시간단위 아닌가요? Byte 사이즈라면 그냥 1024로 나눠주기만 하면 될텐데요..
허... String 이였던 size를 int로 바꿔주니 그냥 나눠주어도 되더군요...
일주일동안 고생한게 5분 안에 풀리니 허무합니다 허허...

아무튼 답변 정말로 감사드립니다.

1개의 답변

+1 추천
 
채택된 답변
문자열인 videoSize를 숫자로 변경한 뒤에

1024 로 한번 나누면 KB가 되고, 한번더 1024로 나누면 MB가 됩니다.

이걸 다시 문자열로 바꿔주면 됩니다.

 

간략하게 아래정도로 구현하면 될듯요~

Long mbSize = Long.parse(videoSize) / 1024  / 1024 ;

mbSize.toString()
코비나 (1,580 포인트) 님이 2013년 12월 23일 답변
CEL님이 2013년 12월 25일 채택됨
처음부터 String이였던 문자열을 int로 바꿔주고 /1024를 해주니 아주 잘됩니다.
MediaCulumns의 SIZE에는 String 타입으로 나와있는데 int도 되더군요
...