그래서 오디오 파일 ID가 포함 된 ann 배열이 있습니다. 그러나 사용자에 따라 얼마나 많은 id가있을 것인가 (그는 "a"와 R.raw.a를 배열 형태로 나타냅니다). 어떻게 MediaPlayer를 사용하여이 사운드를 하나씩 재생할 수 있습니까? OnCompletionListener를 사용해야한다고 생각하지만 배열에 얼마나 많은 사운드 ID가 있는지 알지 못합니다. 내가하나씩 오디오 파일을 재생하는 방법
for(){}
그래서 오디오 파일 ID가 포함 된 ann 배열이 있습니다. 그러나 사용자에 따라 얼마나 많은 id가있을 것인가 (그는 "a"와 R.raw.a를 배열 형태로 나타냅니다). 어떻게 MediaPlayer를 사용하여이 사운드를 하나씩 재생할 수 있습니까? OnCompletionListener를 사용해야한다고 생각하지만 배열에 얼마나 많은 사운드 ID가 있는지 알지 못합니다. 내가하나씩 오디오 파일을 재생하는 방법
for(){}
를 사용해야 당신은 OnCompletionListener
public class MyActivity extends Activity
implements MediaPlayer.OnCompletionListener {
MediaPlayer player = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
player = new MediaPlayer();
player.setOnCompletionListener(this);
...
}
@Override
public void onCompletion(MediaPlayer mp) {
// Called when playback is complete
//Play a next song
...
}
}
에 오신 것을 환영합니다에 대한 MediaPlayer를 설정할 수 있습니다!
IntentService를 사용하여 노래를 재생합니다. intentservice을 사용하여 시작한 모든 노래가 대기열에 있습니다. 그것은 하나씩 재생됩니다.
당신이 할 수있는 것은 MediaPlayer
onCompletionListener
은 다음과 같은 것을 넣어 당신의 그런
//define a variable to be used as index.
int audioindex = 0;
//Extract the files id into an array
int[] audioFileIds=new int[]{R.raw.as,R.raw.bs};
입니다.
다음 OnCompletionListener에 있습니다.
mp.setOnCompletionListener(new OnCompletionListener(){
// @Override
public void onCompletion(MediaPlayer player) {
// File has ended, play the next one.
FunctionPlayFile(audioFileIds[audioindex]);
audioindex+=1; //increment the index to get the next audiofile
}
});
"FunctionPlayFile"직접 만들어야합니까? – user1437450
예 파일을 재생하는 기능입니다 !!! –
하지만 두 개 이상의 파일을 재생해야합니다. – user1437450
그러나 배열에 얼마나 많은 오디오 파일이 있는지는 알 수 없습니다. – user1437450