Java Mediaplayer在播放另一个之前存在间隙
我有一些媒体播放器设置为在点击按钮时一个接一个播放,但是媒体播放器之间有明显的间隙,即,一旦mediaplayer 1播放完毕,mediaplayer 2播放前还有半秒,因此我使用mediaplayer,因为音频间隙非常明显,所以我要问的是,有没有办法消除这个差距。现在我不知道每次使用不同的MediaPlayer是否会出错,但这就是我到目前为止想到的。 基本上,每个mediaplayer都有一个完整的监听器,在这些监听器中,下一个mediaplayer将一直播放到最后一个。任何指点都将不胜感激Java Mediaplayer在播放另一个之前存在间隙,java,android,eclipse,Java,Android,Eclipse,我有一些媒体播放器设置为在点击按钮时一个接一个播放,但是媒体播放器之间有明显的间隙,即,一旦mediaplayer 1播放完毕,mediaplayer 2播放前还有半秒,因此我使用mediaplayer,因为音频间隙非常明显,所以我要问的是,有没有办法消除这个差距。现在我不知道每次使用不同的MediaPlayer是否会出错,但这就是我到目前为止想到的。 基本上,每个mediaplayer都有一个完整的监听器,在这些监听器中,下一个mediaplayer将一直播放到最后一个。任何指点都将不胜感激
public void onClick(View v) {
mpButtonThree = MediaPlayer.create(MainActivity.this, R.raw.audioReplay);
if (mpButtonThree==null){
//display a Toast message here
return;
}
mpButtonThree.start();
mpButtonThree.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mpButtonThree) {
mpButtonThree.release();
mpButtonOne = MediaPlayer.create(MainActivity.this, audioReplayPrimary);
if (mpButtonOne==null){
//display a Toast message here
return;
}
mpButtonOne.start();
mpButtonOne.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mpButtonOne) {
mpButtonOne.release();
mpButtonTwo = MediaPlayer.create(MainActivity.this, audioReplaySecondary);
if (mpButtonTwo==null){
//display a Toast message here
return;
}
mpButtonTwo.start();
mpButtonTwo.setOnCompletionListener(new soundListener1()
{
});
}
如果连续播放文件,则可以使用单个媒体播放器对象。 创建播放下一个媒体文件的函数,并将其放入OnCompletion。
这将消除播放之间的差距,因为您不必每次都发布和创建媒体播放器谢谢您的回复,我有点关注,但我不确定如何实现这一点,这仍然是非常新的,如果可能的话,您能告诉我您的基本意思吗?