我有一个音频文件数组,我想一个接一个地播放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();
}
}
答案 0 :(得分:0)
您可能想尝试使用AudioTrack类播放您的声音。有了它,您可以获得非常接近甚至重叠的声音。要使用它,您可以为每个声音创建单独的线程。
这里有AudioTrack reference page,这里很容易理解blog entry,作者用任意长度和同步声音练习钢琴。在其中,他会循环非常短的持续时间声音,但您可以轻松地将其调整为更长的单一播放声音。
答案 1 :(得分:0)
如果这3个音频文件是短音,如游戏音效或钢琴音,则可以使用SoundPool
进行播放。
以下是示例代码的链接:
Game Sound effects in Android