Android:为SoundPool声音附加效果吗?

时间:2018-10-19 20:33:13

标签: android audio soundpool audio-player audioeffect

我有一个Android应用程序,该应用程序使用android.media.SoundPool为用户播放音频提示。它可以按预期工作,但是我希望能够为播放添加效果(通过android.media.audiofx.AudioEffect子类)。

我了解音频效果如何在(例如)MediaPlayer上工作,但是我看不到如何在SoundPool中使用它们。特别是,我不确定会话ID使用什么。 (我碰巧正在使用Xamarin Android,因为...原因。所以我的示例看起来很怪异-但我很高兴适应本机Java或Kotlin的答案!)

int session = ???; // What goes here?
var fx = new LoudnessEnhancer(session);
fx.SetTargetGain(2400);
fx.SetEnabled(true);
Pool.Play(soundID, 1.0F, 1.0F, 1, 0, 1.00F);

我尝试使用会话ID 0,但是(在运行Android 7.1.1的WT6000上)它在LoudnessEnhancer ctor中崩溃:

Java.Lang.RuntimeException: Cannot initialize effect engine for type: fe3199be-aed0-413f-87bb-11260eb63cf1 Error: -3

(无论如何,我的理解是不建议将效果应用于会话ID零)。

0 个答案:

没有答案