Soundpool循环不能正常工作

时间:2013-01-01 06:16:19

标签: android loops soundpool

当我显示一些数字时,我有一个声音片段播放,然后希望它停止。然后我想重复这个过程。

init stuff:

    private SoundPool soundPool;
    private int soundRoll;
    boolean soundloaded = false;
    this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
    soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
    soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
      @Override
      public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
            soundloaded = true;
      }
    });
    soundRoll = soundPool.load(this, R.raw.roll, 1);

线程调用:

    public void update() {
    .......
    new Thread(new Runnable() {
       public void run() {
         int streamID = 0;
         streamID = soundPool.play(soundRoll, volume, volume, 1, -1, 1);
         ... loop to animate text....
         soundPool.stop(streamID);
         }
    }).start();
    }

这一切都很好。 所以它第一次在正确的时间播放和停止。 第二次我什么都没听到 但它第三次工作

如果我取出循环,那么它就可以了。

任何帮助都会被认定

1 个答案:

答案 0 :(得分:0)

似乎如果我从MP3切换到OGG文件,则该bug就会消失