2011-12-13 115 views
4

我试图无缝循环一个音频文件。我在使用MP3,我发现由于文件中的无声导入,MP3无法无缝循环播放。Android无缝音频循环

现在尝试使用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中无缝重复。

任何人可以帮助

回答

1

你最好的赌注(粘在API时)将是一个的Soundpool。

http://developer.android.com/reference/android/media/SoundPool.html

+0

我读过的Soundpool有记忆问题(不记得细节虽然)。我会循环3秒钟的文件,但用户可以决定多长时间。如果是一个小时,使用SoundPool会出现问题吗? – Tony 2011-12-14 07:49:46