我想一个接一个地播放 MediaPlayer,我可以获取第一个文件但无法获取剩余的文件...
这段代码是否正确...
private void playRecording() {
player = new MediaPlayer();
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
player.stop();
if (i < numberOfFiles) {
i++;
playAudio(Environment.getExternalStorageDirectory()
.getAbsolutePath()
+ "/android"
+ i
+ ".3gp");
}else i=0;
}
});
player.start();
播放音频:
private void playAudio(String filename) {
try {
player.setDataSource(filename);
player.prepare();
player.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
最佳答案
更改 OnCompletionListener
如下:
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.stop();
mp.release();
if (i < numberOfFiles) {
i++;
String path=Environment.getExternalStorageDirectory() .getAbsolutePath()+ "/android"+"/"+i+".3gp";
playAudio(path);
}
else i=0;
}
关于java - android 媒体播放器中的完成监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16008591/