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

AudioTrack을 이용해서 seekbar 사용을 하고싶습니다... 도움좀 부탁드려요 ㅠ

0 추천
System.out.println("mPlaySeekbar.getProgress : "+mPlaySeekbar.getProgress());
System.out.println("mPlaySeekbar.getMax : "+mPlaySeekbar.getMax());
if (mPlaySeekbar.getProgress() == mPlaySeekbar.getMax()) {
mPlaySeekbar.post(new Runnable() {
@Override
public void run() {
mPlaySeekbar.setProgress(0);
}
});
} else {
//int skipCount = ((mPlaySeekbar.getProgress() - (mPlaySeekbar.getProgress() % audiodata.length)) * frequency / 1000);
int skipCount = ((mPlaySeekbar.getProgress() - (mPlaySeekbar.getProgress() % audiodata.length)) * frequency / 1000);
double time = (double) mPlaySeekbar.getProgress() / 1000.0f;
skipCount = (int) (time * (double) frequency);
skipCount = (skipCount - (skipCount % audiodata.length)) * 2;
System.out.println("mPlaySeekbar.getProgress : " +mPlaySeekbar.getProgress());
System.out.println("skipcount :"+skipCount);
System.out.println("time :"+time);
System.out.println("mPlaySeekbar.getMax1 : "+mPlaySeekbar.getMax());
try {
dis.skip(skipCount);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
int avail2 = 0;
try{ avail2 = dis.available();}
catch(Throwable t){
Log.e("Input Stream", "No Data");
}
////////////////////////////////////////////////////////////////////
       while(isPlaying && avail2 > 0){
        if ((endPosition - playPosition) < bufferSize) playPosition = 0;
        System.arraycopy(wav.myData, playPosition, audioout, 0, bufferSize);
        System.arraycopy(wav.myData, playPosition, audiodata, 0, bufferSize);
        playPosition += bufferSize;
 
                audioTrack.write(audioout, 0, bufferSize);
                
                mPlaySeekbar.post(new Runnable() {
@Override
public void run() {
mPlaySeekbar.setProgress(mPlaySeekbar.getProgress() + (int) ((float) audiodata.length * 1000.0f / (float) frequency/4));
//System.out.println("progress : "+mPlaySeekbar.getProgress() + (int) ((float) audiodata.length * 1000.0f / (float) frequency));
//System.out.println(audiodata.length * 1000.0f);
}
});
일탈99 (500 포인트) 님이 2014년 10월 16일 질문

1개의 답변

0 추천
동작을 시켜보면 시작과 동시에 프로그래스바가 맥스로 가버립니다... 현재 구현해놓은 내용중에 어디쪽이 잘못되었을까요 ㅠ?
일탈99 (500 포인트) 님이 2014년 10월 16일 답변
...