为什么使用 NuGet 程序包 Plugin.AudioRecorder 在 iPhone 上播放时静音?

Why is playback whisper-quiet on iPhone using NuGet package Plugin.AudioRecorder?

使用 Xamarin Forms 中的 Plugin.AudioRecorder NuGet / iOS,我可以在 iPhone 8 上录制音频,但播放时声音很小。如何提高音量?

在 AppDelegate.cs 我有:

AudioPlayer.RequestAVAudioSessionCategory (AVAudioSessionCategory.PlayAndRecord);

默认情况下通过 phone 的上扬声器播放。将输出定向到下方扬声器可以解决问题。

在AppDelegate.cs中添加:

AudioPlayer.OnPrepareAudioSession = x =>
            {
                // Route audio to the lower speaker rather than the upper speaker so sound volume is not minimal
                x.OverrideOutputAudioPort ( AVAudioSessionPortOverride.Speaker, out NSError error );
            };

AudioPlayer.OnPrepareAudioSession 没有人替我打电话。将音频输出定向到下方扬声器的替代解决方案:

var audioSession = AVAudioSession.SharedInstance();
var success = audioSession.SetCategory(AVAudioSession.CategoryPlayAndRecord, out var error);
if (success)
{
    success = audioSession.OverrideOutputAudioPort(AVAudioSessionPortOverride.Speaker, out error);
    if (success)
        audioSession.SetActive(true, out error);
}

我 运行 我的 AppDelegate.FinishedLaunching() 覆盖了这段代码