androidでmp3を2倍速で再生するには


androidでmp3を2倍速で再生しようとしています。

SoundPoolのplayには、  
public final int play (int soundID, float leftVolume, float rightVolume, int
priority, int loop, float rate)  
rate：再生速度（0.5〜2.0：0.5倍から2倍の速度まで設定できる）とありました。

今回、再生するmp3は長さが1時間ぐらいのなので、SoundPoolでは再生できそうにないので、別の方法を探しています。すみませんがアドバイスをよろしくお願い致します。




自己レスです。  
音程を変えずに2倍速で再生することができました。

以下のExoPlayerとsonicを組み合わせることで実現できました。  
<https://github.com/ariestiyansyah/indonesiax-android-app>  
<https://github.com/waywardgeek/sonic-ndk>

ExoPlayerでは、MediaCodecでmp3をデコードしてそれをAudioTrackに出力して再生していました。それを、AudioTrackに出力する前に、sonicの音声の波形データを加工する処理を追加することで2倍速で再生できました。

ソースの変更箇所は、ごくわずかで思ってより簡単に済みました。アドバイスありがとうございました。




自己レスです。  
音程を変えずに2倍速で再生することができました。

以下のExoPlayerとsonicを組み合わせることで実現できました。  
<https://github.com/ariestiyansyah/indonesiax-android-app>  
<https://github.com/waywardgeek/sonic-ndk>

ExoPlayerでは、MediaCodecでmp3をデコードしてそれをAudioTrackに出力して再生していました。それを、AudioTrackに出力する前に、sonicの音声の波形データを加工する処理を追加することで2倍速で再生できました。

ソースの変更箇所は、ごくわずかで思ってより簡単に済みました。アドバイスありがとうございました。

