Android에서 개발 중이며 부울 값 집합에 따라 오디오 파일을 순서대로 재생하는 비동기 작업을 만들려고했습니다 (i1이 참이면 i1을 재생 한 다음 i1이 완료되면 i2가 참이면 재생됩니다). 내 첫 시도는 응용 프로그램을 크래킹하지 않지만 오디오 파일을 재생하지 않습니다.Android : 여러 오디오 트랙 재생
class SessionMusicTask extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
try {
while(playing == true){
if(i1 == true && done == true){
done = false;
player.setDataSource(i1Loc);
player.prepare();
player.start();
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
done = true;
}
});
}
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
}
}
이 방법이 가장 좋은 방법입니까? 파일이 재생되지 않는 이유는 무엇입니까? 사전에 도움을 주셔서 감사합니다.
업데이트 : 그냥 onPostExecute()에 finish()를 넣으면 작업이 거의 즉시 끝나기 때문에 오디오 파일을 재생하지 못한다고 생각합니까?
좋은 조언, 문제는 해결되지 않았습니다. – Flynn
이것은 받아 들여졌습니다 ... 이것은 실제로 결국 문제를 해결합니까? – Rob