Android 依次播放3个音频文件

Android 依次播放3个音频文件,android,audio,Android,Audio,我有一个音频文件数组,我想一个接一个地播放3个音频文件,这样它们之间的差距就不明显了。 我正在使用onCompletion listener进行尝试,但无法完成 @Override public void onCompletion(MediaPlayer mediaPlayer) { // TODO Auto-generated method stub if ((image100==1)&&(image10==0)&&(image1==1))

我有一个音频文件数组,我想一个接一个地播放3个音频文件,这样它们之间的差距就不明显了。 我正在使用onCompletion listener进行尝试,但无法完成

@Override
public void onCompletion(MediaPlayer mediaPlayer) {
    // TODO Auto-generated method stub
    if ((image100==1)&&(image10==0)&&(image1==1))
    {
        mediaplayer = MediaPlayer.create(getApplicationContext(), sounds[0]);
        mediaplayer.start();
        mediaplayer = MediaPlayer.create(getApplicationContext(), sounds[12]);
        mediaplayer.start();
        mediaplayer = MediaPlayer.create(getApplicationContext(), sounds[3]);
        mediaplayer.start();
    }
}

您可能想尝试使用AudioTrack类来播放您的声音。有了它,你可以得到非常接近,甚至重叠的声音。要使用它,您需要为每个声音创建单独的线程


这是一个简单易懂的例子,作者用任意长度和同步声音弹奏钢琴。在它里面,他循环非常短的持续时间的声音,但是你可以很容易地适应更长的单次播放的声音。

如果这3个音频文件是短声音,比如游戏音效或钢琴音调,你可以使用
声音池来播放它们。
以下是示例代码的链接:

建议:将您的三个声音文件合并为一个。我不能。事实上,我需要他们单独以及在一起。是的,保持他们单独,但使一个新的文件,这是所有三个文件的混合物,这将节省您的时间和代码。我有许多单独的文件,需要大量的空间和合并他们在一起将需要更多的空间。任何其他选项?在API级别16及更高版本中,您可以使用
setNextMediaPlayer
指定另一个
MediaPlayer
,该播放器将在当前播放器完成播放后尽快自动启动。