Android 安卓无缝音频环路

Android 安卓无缝音频环路,android,audio,Android,Audio,我正在尝试无缝地循环一个音频文件。我使用的是MP3,我发现MP3不能无缝循环,因为文件中有无声的引入 现在使用OGG和WAV尝试以下代码。声音循环,但在以下各项之间有一个小的(但明显的)延迟: AssetFileDescriptor descriptor; descriptor = getAssets().openFd( "rain30s.ogg" ); mp.setDataSource( descriptor.getFileDescriptor(

我正在尝试无缝地循环一个音频文件。我使用的是MP3,我发现MP3不能无缝循环,因为文件中有无声的引入

现在使用OGG和WAV尝试以下代码。声音循环,但在以下各项之间有一个小的(但明显的)延迟:

AssetFileDescriptor descriptor;
            descriptor = getAssets().openFd( "rain30s.ogg" );
            mp.setDataSource( descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength() );
            descriptor.close();
            mp.setLooping(true);
            mp.prepare();
            mp.start();
OGG和WAV在Audacity中无缝重复

有人能帮你吗?

如果你坚持使用API,你最好的选择就是使用声音池


我读到SoundPool有内存问题(但不记得具体细节)。我将循环一个3秒的文件,但用户可以决定需要多长时间。如果是一个小时,使用声音池会有问题吗?我从来没有听说过使用声音池时有任何内存问题。事实上,它的目的是将音频文件加载到内存中,以便在几乎瞬间播放游戏等:)