Android 带声池的循环音轨

Android 带声池的循环音轨,android,audio,loops,media-player,soundpool,Android,Audio,Loops,Media Player,Soundpool,我需要在我的应用程序中无延迟地循环播放音乐。在安卓4.0中,相同的代码不能循环,而没有一个重要的延迟 所以我试着使用SoundPool。如果我使用 int NO_LOOP=0; sp.play(ID, 1, 1, 0, NO_LOOP, 1); 声音播放没有问题,但是如果我使用 int LOOP=-1; sp.play(ID, 1, 1, 0, LOOP, 1); 它不工作,出现以下消息: 08-21 05:12:48.243: E/AudioTrack(15035): AudioFling

我需要在我的应用程序中无延迟地循环播放音乐。在安卓<4.0中,我使用了mediaplayer,一切正常。在android>4.0中,相同的代码不能循环,而没有一个重要的延迟

所以我试着使用SoundPool。如果我使用

int NO_LOOP=0;
sp.play(ID, 1, 1, 0, NO_LOOP, 1);
声音播放没有问题,但是如果我使用

int LOOP=-1;
sp.play(ID, 1, 1, 0, LOOP, 1);
它不工作,出现以下消息:

08-21 05:12:48.243: E/AudioTrack(15035): AudioFlinger could not create track, status: -12
08-21 05:12:48.243: E/SoundPool(15035): Error creating AudioTrack

怎么了?如何解决此问题?

为了实现无间隙循环,必须使用1mb以下的WAV文件。否则,循环的-1设置将导致文件无法播放


这很有效,刚刚测试过。

那么,我如何播放超过1mb的无间隙声音呢?我不敢相信没有办法…有办法使用MediaPlayer类。