我有一个我正在开发的应用程序,它的一个功能是通过 录制声音iPhone microphone
并能够回放给我。
问题:在我录制之后,比如说我说话,播放级别非常低。现在我确实切换AudioToolbox
到了AVFoundation
,这发生在切换之后。我需要在音量参数中编码AVFoundation
吗?我在documentation
.
我很感激任何帮助。
我有一个我正在开发的应用程序,它的一个功能是通过 录制声音iPhone microphone
并能够回放给我。
问题:在我录制之后,比如说我说话,播放级别非常低。现在我确实切换AudioToolbox
到了AVFoundation
,这发生在切换之后。我需要在音量参数中编码AVFoundation
吗?我在documentation
.
我很感激任何帮助。
我已经解决了这个问题。在 AppDelegate.m 我有以下内容didFinishLaunchingWithOptions
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: &setAudioError];
if (setAudioError) { NSLog(@"error setting audio: %@", setAudioError); }
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (
kAudioSessionProperty_OverrideAudioRoute,
sizeof (audioRouteOverride),
&audioRouteOverride);
这里的重要部分是它不起作用,因为我最初有AVAudioSessionCategoryPlayer error:&setAudioError
一旦我将其更改为“PlayandRecord”,我就没有问题了。
在录制音频或配置 Record 或 PlayAndRecord Audio Session 时,iPhone 从使用扬声器(位于底部)切换到使用较小的耳机(靠近前顶部),这会产生较低的音量。
您的应用可以通过将音频会话 kAudioSessionProperty_OverrideAudioRoute 属性设置为 kAudioSessionOverrideAudioRoute_Speaker 来覆盖此默认设置。有关详细信息,请参阅 Apple 的音频会话 API 文档。
在设置中打开飞行模式。你的声音会高很多。