I have had similar issues using wav and mp3 files.

I haven't profiled the delays, but I did decide to pre-load all of the
settings that I could pre-load.  Even retrieving all settings from the
context and storing them.  Then, just call playSound.  This doesn't
diagnose the problem, but it should reduce a little overhead.

Matt



On Dec 18, 12:37 pm, Robert Green <[email protected]> wrote:
> Can you quantify the lag?  How much is it lagging?  Lately I've been
> seeing my footstep sounds, which are individually triggered right and
> left steps, take 2-50ms to trigger for some reason.  I'm not sure if
> it has something to do with the way the OGG is encoded, but I feel
> like it could.  Perhaps the SoundPool author would like to chime in
> and give us some hints?
>
> On Dec 18, 3:45 am, rukiman <[email protected]> wrote:
>
> > I am using the SoundPool as follows:
>
> > Caching my sounds:
> >                         // load sound effects
> >                         soundPool = new SoundPool(2, 
> > AudioManager.STREAM_MUSIC, 0);
> >                         soundPoolMap = new HashMap<Integer, Integer>();
> >                         AssetFileDescriptor afd;
> >                         try {
> >                                 afd = 
> > context.getAssets().openFd("sounds/piecemove.ogg");
> >                                 soundPoolMap.put(SOUND_PIECEMOVE, 
> > soundPool.load(afd, 1));
>
> >                                 afd = 
> > context.getAssets().openFd("sounds/piecestop.ogg");
> >                                 soundPoolMap.put(SOUND_PIECESTOP, 
> > soundPool.load(afd, 1));
>
> >                                 afd = 
> > context.getAssets().openFd("sounds/pieceattack.ogg");
> >                                 soundPoolMap.put(SOUND_PIECEATTACK, 
> > soundPool.load(afd, 1));
>
> >                                 afd = 
> > context.getAssets().openFd("sounds/pieceselect.ogg");
> >                                 soundPoolMap.put(SOUND_PIECESELECT, 
> > soundPool.load(afd, 1));
>
> >                                 afd = 
> > context.getAssets().openFd("sounds/selection.ogg");
> >                                 soundPoolMap.put(SOUND_MENUSELECTION, 
> > soundPool.load(afd, 1));
>
> >                                 afd = 
> > context.getAssets().openFd("sounds/pageturn.ogg");
> >                                 soundPoolMap.put(SOUND_PAGETURN, 
> > soundPool.load(afd, 1));
> >                         } catch (IOException e) {
> >                                 e.printStackTrace();
> >                         }
>
> > Function to play sounds:
>
> >         public static int playSound(Context context, int sound) {
>
> >                 AudioManager mgr = (AudioManager) context
> >                                 .getSystemService(Context.AUDIO_SERVICE);
> >                 float streamVolumeCurrent = mgr
> >                                 .getStreamVolume(AudioManager.STREAM_MUSIC);
> >                 float streamVolumeMax = mgr
> >                                 
> > .getStreamMaxVolume(AudioManager.STREAM_MUSIC);
> >                 float volume = streamVolumeCurrent / streamVolumeMax;
> >                 /* Play the sound with the correct volume */
> >                 return soundPool
> >                                 .play(soundPoolMap.get(sound), volume, 
> > volume, 1, 0, 1f);
> >         }
>
> > Playing a sound effect i.e when button is clicked:
>
> >       Resources.playSound(context, Resources.SOUND_PIECESELECT);
>
> > However as I said the sound is lagging. What can I do to improve this?
> > All my sounds are OGG file format.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to