小编use*_*336的帖子

即使使用OGG格式,Android MediaPlayer循环也存在差距

在Android 4.x中,我的音频循环应用程序在声音循环中有0.2到0.5秒的间隙.

我正在使用MediaPlayer,因为我的声音可能很大(在某些情况下每个2-3mb)并且它可以同时运行多个实例.

我已经对此进行了相当多的研究,我发现Android 4.x存在一个错误...但是,我已经尝试了很多工作,我似乎无法让它们中的任何一个工作.

  • 使用Audacity将所有wav转换为OGG(质量等级2到10,无所谓)
  • 试过setNextMediaPlayer()
  • 试图在停止和重复时使用seekTo(0)
  • 尝试过soundPool,它有自己的bug

这是我正在使用的代码示例:

public class SoundPlayer implements OnCompletionListener {
    private MediaPlayer mp = null;

    public void initPlayer() {
        if(mp == null) {
            mp = new MediaPlayer();
        }
    }

    public void prepare(Context context, int resource) {
    initPlayer();
    try{
        mp.reset();
        Uri uri = Uri.parse("android.resource://com.myapp.app/"+resource);
        mp.setDataSource(context,uri);
        mp.prepare();
        isPrepared = true;
        mp.setOnCompletionListener(this);
    } catch(Exception e) {
        e.printStackTrace();
    }
    }


.......... etc (Uses typical MediaPlayer methods such as stop(), start(), setLooping(true)


}
Run Code Online (Sandbox Code Playgroud)

我没有使用任何特殊的东西,所以我只是想知道是否有人知道解决Android上的循环错误.

audio android

8
推荐指数
1
解决办法
2147
查看次数

标签 统计

android ×1

audio ×1