Media Player getDuration, setDataSource 관련
Media Player
getDuration, setDataSource
ㆍ 오디오 파일의 전체길이를 알기 위해서는 getDuration을
사용하면 된다.
ㆍ 녹음기나 기타 플레이어를 만들때 플레이 전체시간을
표시해줄 수 있다.
getDuration 관련
mediaPlayer.getDuration();
을 하면 오디오 파일의 길이를
구할 수 있다.
위치는 setOnPreparedListener
안에 넣어주면 된다.
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
TextView.setText(""+mediaPlayer.getDuration());
}
});
이런식으로 넣어주면 되는데
만약 오디오파일이 3분짜리라면
180 x 1000 = 180000
180000이란 값이 찍힌다.
이 값을 시간, 분, 초로 나눠서
찍어주면 된다.
이런식으로
String Hour = String.format("%02d",(mediaPlayer.getDuration())/1000/3600);
String Min = String.format("%02d",((mediaPlayer.getDuration())/1000/60)%60);
String Sec = String.format("%02d", ((mediaPlayer.getDuration()) / 1000) % 60);
setDataSource 관련
이 부분은
몰라도 될 수 있는데
혹시나 해서 흔적을 남기면..
보통 mediaPlayer에
오디오 파일을 연결할때
mediaPlayer.setDataSorce(파일경로);
이렇게 연결하는데.
어떤 상황에서 갑자기 여기서 에러가 발생할 수 있다
그렇다면 파일경로대신 FileDescriptor를 넣어보자
FileInputStream fis = null;
try
{
fis = new FileInputStream(파일경로);
FileDescriptor fd = fis.getFD();
mediaPlayer.setDataSource(fd);
mediaPlayer.prepare();
}
이런식으로 바꿔서 넣어보자
'안드로이드(android) > 알아두면 좋은것' 카테고리의 다른 글
ActionBar를 알아보자(1) (2) | 2017.01.28 |
---|---|
안드로이드 영어초보가 구글링 시작하는 방법 (0) | 2017.01.21 |
색상코드표 투명도 처리 관련 (3) | 2016.12.02 |
int(Integer)형 Resource 등록 (0) | 2016.11.26 |
Soft Navigation Bar(LG폰) 처리하기 (0) | 2016.11.15 |