如何增加使用AVAudioRecorder录制的声音音量

21

我正在使用下面提到的链接通过我的iPhone应用程序录制音频:

如何使用AVAudioRecorder在iPhone上录制音频?

当我尝试在我的设备上使用AVAudioPlayer播放我的录音时,我发现即使我的设备音量已经调到最大,我的录音声音也非常低。

录音功能能够正常工作。

如何增加音量?


2
我认为这个不应该被标记为重复; “重复”的问题有Objective C的答案,而这里提供的答案与Swift相关。 - verbose
+1 表示不是重复问题。这个问题特别询问的是关于播放音量,而不是通用的“如何录制东西”的问题链接。 - Eric98118
3个回答

40

在录制音频时,将音频会话设置为AVAudioSessionCategoryPlayAndRecord或只设置为AVAudioSessionCategoryRecord。完成后,将其设置回AVAudioSessionCategoryPlayback


类别已经设置为AVAudioSessionPlayAndRecord。我已经发布了我正在使用的链接。我正在使用与@unforgiven提供的代码相同的代码,所以也许你可以在那里看到并给出一些建议。 - Parth Bhatt
好的,当你完成后,将其设置回AVAudioSessionCategoryPlayback。这将使声音更响亮。由于同时进行播放和录制需要更多的电池功率,所以出于某种原因,同时进行播放和录制会降低音量。 - Hollance
1
再次感谢。这篇文章对我帮助很大。 - TK189
1
音量差异也可以帮助防止同时录制和播放时扬声器反馈回麦克风。 - MikeyWard
对我没用。我已将音量级别设置为1.0,但在iPad上运行正常。有什么建议吗? - Pawan Sharma

1

iOS 12 + Swift 5.0解决方案:

  • 开始录制时使用:

    recordingSession.setCategory(.record) // recordingSession类型为AVAudioSession

  • 播放录音时使用:

    recordingSession.setCategory(.playback)

注意:将语句放入do-catch块中。


-1

你可以尝试 AVaudioSession.sharedInstance().overrideOutputAudioPort(AVAudioSessionPortOverride.Speaker),这是因为你的输出设备设置为 iPhone 的内置扬声器。 而 iTab 只有一个扬声器,所以不会出现问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接