一个接一个播放3个音频文件

时间:2014-04-28 06:45:12

标签: android audio

我有一个音频文件数组,我想一个接一个地播放3个音频文件,因此它们之间的差距不明显。 我正在尝试使用onCompletion监听器,但无法做到。

@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();
    }
}

2 个答案:

答案 0 :(得分:0)

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

这里有AudioTrack reference page,这里很容易理解blog entry,作者用任意长度和同步声音练习钢琴。在其中,他会循环非常短的持续时间声音,但您可以轻松地将其调整为更长的单一播放声音。

答案 1 :(得分:0)

如果这3个音频文件是短音,如游戏音效或钢琴音,则可以使用SoundPool进行播放。 以下是示例代码的链接: Game Sound effects in Android