在我的应用程序中,我必须一个接一个地播放许多声音(下载并存储在SD卡上的mp3文件)。 所以我使用了一个基本的MediaPlayer并设置了setOnCompletionListener方法来继续播放下一个媒体文件:
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 ...它会产生一种扰乱用户的奇怪噪音。 您是否知道如何播放这些文件,就好像它们是“一条轨道”(连续)。
答案 0 :(得分:2)
您可以尝试创建MediaPlayer
的两个实例(让我们称之为 M1 和 M2 )。
prepare()
)OnCompletionListener
触发M2开始播放如果这不起作用且仍然听到噪音,请尝试使用SoundPool代替MediaPlayer
。