1

我需要在我的应用程序中循环播放音乐而不滞后。在 android < 4.0 中,我使用了媒体播放器,一切正常。在 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

怎么了?我怎么解决这个问题?

4

1 回答 1

0

为了进行无缝循环,您必须使用小于 1mb 的 WAV 文件。否则,循环的 -1 设置将导致您的文件无法播放。

这行得通,刚刚测试过。

于 2012-08-31T23:36:48.133 回答