2015-02-08 122 views
2

在我的应用程序中,我必须依次播放很多声音(下载并存储在SD卡上的MP3文件)。 所以我使用了一个基本的MediaPlayer,我设置setOnCompletionListener方法继续玩下一个媒体文件:Android媒体播放器:播放多种声音

mediaPlayer = new MediaPlayer(); 
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    mediaPlayer.setDataSource(PATH + Constants.Medias.PATH + SLASH + (pref + 1) + SLASH + AppUtils.format(suffix + 1) + AppUtils.format(currentMediaFile)); 

我的大问题是,有GAP从文件到下一个切换时......它打个怪扰乱用户的噪音。 你知道如何播放这些文件,就好像它们是“单曲”(连续)。

谢谢大家!

回答

2

你可以尝试创建两个实例的MediaPlayer(我们姑且称之为M1M2)。

  • M1开始播放第一个文件(F1
  • M1播放,M2开始为F2(仅prepare()叫)准备
  • M1完成,其OnCompletionListener触发M2开始播放
  • 继续反转M1M2直到所有文件都播放完毕。

如果这不起作用,你仍然能听到噪音尝试使用SoundPool而不是MediaPlayer

+0

第一个解决方案没有改变实际的行为..我会尝试SoundPool也许我会得到我想要的! – Mohamed 2015-02-08 18:12:15