デバイスに保存された .3gp 形式の録音のリストにオーディオ エフェクトを作成する必要があります。
私が必要とするオーディオ効果は、残響音の追加、または交通や群衆の音を含む別のオーディオ ファイルとのミキシングです。
オーディオ録音とオーディオ効果をミックスする最良の方法は、SoundPool クラスを使用することだと思います。SoundPool を作成するために、次のチュートリアルに従いました: Android の SoundPool で足を濡らす
エコー効果については、クラス PresetReverb および EnvironmentalReverb で audiofx パッケージを使用しようとしていますが、私のコードでは効果がありませんでした:
public void playSoundPresetReverb(){
PresetReverb pReverb = new PresetReverb(1, 0);
mp.attachAuxEffect(pReverb.getId());
pReverb.setPreset(PresetReverb.PRESET_LARGEHALL);
pReverb.setEnabled(true);
mp.setAuxEffectSendLevel(1.0f);
}
public void playSoundEnvironmentReverb(){
eReverb = new EnvironmentalReverb(0, 0);
eReverb.setDecayHFRatio((short) 1000);
eReverb.setDecayTime(1000);
eReverb.setDensity((short) 1000);
eReverb.setDiffusion((short) 1000);
eReverb.setReverbLevel((short) -1000);
eReverb.setReverbDelay((short) 50);
eReverb.setEnabled(true);
//mp.attachAuxEffect(eReverb.getId());
mp.setAuxEffectSendLevel(1.0f);
}
ただし、リバーブをかけた演奏音は効果なし。mp.start(); の前の後に効果が適用されると思います。しかし、MediaPlayer の準備が必要かどうかはわかりません。
これは、アクティビティの LogCat です。
http://imageshack.us/photo/my-images/339/sinttulohh.jpg/
私の最後の質問は、効果の後にメディアプレーヤーを保存する方法です。