[英]Oncompletion Listener in android Media player
I want to play MediaPlayer one after other, i can able to get first file but could not able to get remaining files... 我想一个接一个地播放MediaPlayer,我可以获取第一个文件,但无法获取剩余文件...
whether this code is correct... 此代码是否正确...
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();
playAudio: playAudio:
private void playAudio(String filename) {
try {
player.setDataSource(filename);
player.prepare();
player.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Change OnCompletionListener
with following: 使用以下命令更改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;
}
In place of calling mp.release();
代替调用mp.release();
It's better to call mp.reset();
最好调用mp.reset();
where release will releases the object and reset is like just creating the object. release将释放对象并进行重置,就像创建对象一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.