2

Here is what I'm doing:

private SoundPool pool;
private int soundId;

@Override
public void onCreate(Bundle savedInstanceState)
{
  super.onCreate(savedInstanceState);

  // new SoundPool with three channels, STREAM_MUSIC, default quality
  pool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);

  // load sound with current context, click resource, priority 1
  soundId = pool.load(this, R.raw.click, 1);

  // originally I wasn't using this but it seemed to help a bit
  // set no loop for soundId
  pool.setLoop(soundId, 0);
}

private void play()
{
  Log.v(TAG, "Play the sound once!");

  // half volume L & R, priority 1, loop 0, rate 1
  pool.play(soundId, 0.5f, 0.5f, 1, 0, 1);
}

@Override
public void onDestroy()
{
  super.onDestroy();

  // release the pool
  pool.release();
}

Originally I was using a .wav file for the click sound and the problem would occur 90% of the time. I added setLoop and it appears to reduce it a tiny bit.

I thought it might be a problem with loading .wav files so I converted the file to .mp3. Now the problem happens 5% of the time, but it still happens. I built with and without the setLoop call and it appears that including it helps a tiny bit.

As you can see I have added a debug log message to ensure that I am not accidentally calling the play function twice. According to the log output, the sound is only played once but I hear the sound twice.

I have also used several different sound files. Some of the files seem to repeat more frequently than others. I don't see any correlations except it happens more frequently with .wav files.

I see the problem happening on Samsung Continuum running 2.1 (min & target API: level 7). I haven't experienced any extra looping with any market apps I've downloaded on the same device. Unfortunately, I don't have other devices to test with.

I have only found one other person experiencing this issue and he or she was also using a Samsung device.

Here is a link to the other issue reported:

https://stackoverflow.com/q/4873995/695336

At this point I guess I'll try making a release build to see if it still happens and then maybe convert to .ogg format. After that I'll probably try switching to MediaPlayer to see if I get the same results.

Thanks for your help.

Community
  • 1
  • 1
pinkonion
  • 191
  • 2
  • 9
  • Converting to ogg appears to solve this issue. Thanks to zas. I wonder if this is a bug specific to eclair? – pinkonion Apr 12 '11 at 21:27

0 Answers0