Sunday, June 10, 2012

[android-developers] Re: soundpool looping problem

FYI ... MediaPlayer looping isn't entirely 'stable'. See:

On Monday, June 11, 2012 2:35:14 AM UTC-4, Tamás Kovács wrote:
Sorry I don't have time to read your code. But in the past, I also had
issues, when I needed to loop soundpool sounds that were stopped()
before they needed to play again (in looped mode).

If you can't find a solution, I can think of two alternatives:
1. Implement manual looping: not too elegant and accurate, but 'guess'
when you playback has ended, and then start the same sound again
2. Use MediaPlayer, it is stable in looping


On Jun 11, 5:51 am, krishna kumar <send2mess...@gmail.com> wrote:
> package my.app.exp5;
>
> import java.util.HashMap;
>
> import android.content.Context;
> import android.media.AudioManager;
> import android.media.SoundPool;
> import android.util.Log;
>
> public class SoundEffects {
>     public boolean released=false;
>     protected Context context;
>     private SoundPool soundPool;
> private int volume;
> private HashMap<Integer, Integer> soundPoolMap;
>
>     protected SoundEffects(Context context) {
>             this.context=context;
>
>             soundPool=new SoundPool(20, AudioManager.STREAM_MUSIC, 40);
>
>             soundPoolMap = new HashMap<Integer, Integer>();
>
>             AudioManager mgr=(AudioManager)context.getSystemService
> (Context.AUDIO_SERVICE);
>
>             volume=mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
>     }
>
>     /*
>     public boolean isLoaded() {
>             soundPool.
>     }
>     */
>
>     public void addSound(int resid) {
>             int soundId=soundPool.load(context, resid, 1);
>             soundPoolMap.put(resid, soundId);
>             soundPool.setLoop(soundId, 1);
>     }
>
>     public void addLoopSound(int resid) {
>             int soundId=soundPool.load(context, resid, 1);
>             soundPoolMap.put(resid, soundId);
>             soundPool.setLoop(soundId, -1);
>     }
>
>     public void play(int resid) {
>             Log.i("SoundEffects", "Playing: "+resid);
>             int soundId=soundPoolMap.get(resid);
>             soundPool.setLoop(soundId, 1);
>             soundPool.play(soundId, volume, volume, 1, 0, 1f);
>     }
>
>     public void playLoop(int resid) {
>             int soundId=soundPoolMap.get(resid);
>             soundPool.setLoop(soundId, -1);
>             soundPool.play(soundId, volume, volume, 1, -1, 1f);   // here
> loop -1 is not working ....
>     }
>
>     public void stop(int resid) {
>            soundPool.stop(resid);
>
>             int soundId=soundPoolMap.get(resid);
>             soundPool.setLoop(soundId, 0);
>             soundPool.setVolume(soundId, 0f, 0f);
>     }
>
>     public void release() {
>             released=true;
>             soundPool.release();
>     }
>
>     public void autoPause(int resid)
>     {
>         soundPool.autoPause();
>     }
>
> }
>
> Looping function not working please anybody help .....it's urgent

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

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate