SoundPool クラスを使用して再生速度エフェクトを作成したいと考えています。サウンドを高速または低速で再生します (1x、0.5x、2x など)。しかし、問題は、soundpool が小さなファイルしか処理しないことです。大きなファイルを渡すとき。何も再生されません。音楽のストリーム (大きなオーディオ ファイルの数バイト) を読み込んで、soundpool 経由で再生できるかどうか疑問に思っていました。何か案が。??
これがsoundPoolが曲を再生するための私のコードです
AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = streamVolumeCurrent / streamVolumeMax;
soundID = soundPool.load(Environment.getExternalStorageDirectory()+"/cm.mp3", 1);
soundPool.play(soundID, volume, volume, 1, 0, 1.0f);
JetPlayer および AudioTrack クラスを見つけましたが、これを処理するための適切なチュートリアルが見つかりません。