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

