在 'Mobile App (Xamarin.Forms)' 项目中为 MediaPlayer 添加混响效果

Adding Reverb effect to MediaPlayer in 'Mobile App (Xamarin.Forms)' project

我在 Xamarin 项目中创建了一个 MP3 播放器,播放效果很好。我已经添加了调整音高和速度的功能,但我无法将混响效果带到我的 MediaPlayer 中。

我在 Kotlin 和 Java 中找到了创建 PresetReverb 和 [=23] 所需代码的各种示例=]EnvironmentalReverb 方法实现。

虽然我的 C# 代码运行且未产生任何错误,但使用任何一种方法都不会应用混响效果。我是 Xamarin 和 Android 的新手,所以我希望得到一些帮助。

这是我的代码。

MediaPlayer _mediaPlayer = new MediaPlayer();

AssetFileDescriptor fd = global::Android.App.Application.Context.Assets.OpenFd(fileName);

#region REVERB

PresetReverb presetReverb = new PresetReverb(1, 0); // was set to _mediaPlayer.AudioSessionId
presetReverb.Preset = PresetReverb.PresetLargeroom;
presetReverb.SetEnabled(true);
_mediaPlayer.AttachAuxEffect(presetReverb.Id);
_mediaPlayer.SetAuxEffectSendLevel(1.0f);

#endregion

_mediaPlayer.SetDataSource(fd.FileDescriptor, fd.StartOffset, fd.Length);
_mediaPlayer.Prepare();
_mediaPlayer.Start();

任何 ideas/advice 将不胜感激。

您可以尝试音频会话 0 而不是 AudioSessionId

  PresetReverb presetReverb = new PresetReverb(1, 0);
            presetReverb.Preset = PresetReverb.PresetLargehall;
            presetReverb.SetEnabled(true);
            _mediaPlayer.AttachAuxEffect(presetReverb.Id);
            _mediaPlayer.SetAuxEffectSendLevel(1.0f);