Thanks Anurag,

I have fixed the error. At the end, I have used an implementation with
AudioTrack. It seems to be ideal for what I am trying to do, but I have
another question:

Is there any library out there that it allows to decode mp3/ogg to wav in
android in realtime? (not necessarily in realtime but it could be great). I
think I need to use the NDK but I would not like to have to manage with
that.

Thanks

2010/5/2 Anurag Singh <[email protected]>

> Hey, I just gone through with your code. You are not using
> public final void setRate (int streamID, float rate)Please take  care
> streamID is  different from soundID. streamID is the value returned by the
> play() function.
>
> - Anurag Singh
>
> On Sun, May 2, 2010 at 12:48 AM, Y Kim <[email protected]> wrote:
>
>> Hello everybody,
>>
>> I would like to know if somebody knows a library to changing the
>> playback rate of a track in real time. My idea is to load a track and
>> change its playback rate to half or double. Firstly, I tried with
>> MusicPlayer but is was not possible at all and then I tried with
>> SoundPool. The problem is that with SoundPool I can“t change the rate
>> once the track is loaded. Here is the code I am using (proof of
>> concept):
>>
>>    float j = 1;
>>
>>    @Override
>>    public void onCreate(Bundle savedInstanceState) {
>>        super.onCreate(savedInstanceState);
>>        setContentView(R.layout.main);
>>
>>        Button b = (Button)findViewById(R.id.Button01);
>>        b.setOnClickListener(new OnClickListener() {
>>
>>            @Override
>>            public void onClick(View v) {
>>                j = (float) (j +.5);
>>
>>            }
>>        });
>>
>>        AssetFileDescriptor afd;
>>        try {
>>
>>            SoundPool sp = new SoundPool(1, AudioManager.STREAM_MUSIC,
>> 0);
>>
>>            afd = getAssets().openFd("wav/sample.wav");
>>            int id = sp.load(afd, 1);
>>            sp.play(id, 1, 1, 1, 0, j);
>>
>>        } catch (IOException e) {
>>            // TODO Auto-generated catch block
>>            e.printStackTrace();
>>        }
>>    }
>>
>> When I press the button, the playback rate should increase but it does
>> not happen. Any idea of how change the rate in real time?
>>
>> Thanks in advance.
>>
>> --
>> 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]<android-developers%[email protected]>
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>>
>
>  --
> 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]<android-developers%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
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