iOS - 使用 AVFoundation 录制声音后 iPhone 声音级别低
Posted
技术标签:
【中文标题】iOS - 使用 AVFoundation 录制声音后 iPhone 声音级别低【英文标题】:iOS - iPhone sound level low after recording sound using AVFoundation 【发布时间】:2012-08-23 23:40:52 【问题描述】:我有一个我正在开发的应用程序,它的一个功能是通过iPhone microphone
录制声音并能够回放给我。
问题:在我录制之后,比如说我说话,播放级别非常低。现在我确实从AudioToolbox
切换到AVFoundation
,这发生在切换之后。我需要为AVFoundation
编写音量参数吗?我在documentation
中没有看到任何内容。
感谢您的帮助。
【问题讨论】:
【参考方案1】:我已经解决了这个问题。在 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”,我就没有问题了。
【讨论】:
【参考方案2】:在录制音频或配置 Record 或 PlayAndRecord Audio Session 时,iPhone 从使用扬声器(位于底部)切换到使用较小的耳机(靠近前顶部),从而产生较低的音量。
您的应用可以通过将音频会话 kAudioSessionProperty_OverrideAudioRoute 属性设置为 kAudioSessionOverrideAudioRoute_Speaker 来覆盖此默认设置。有关详细信息,请参阅 Apple 的音频会话 API 文档。
【讨论】:
我已经尝试使用上述建议,但由于某种原因它不起作用。【参考方案3】:在“设置”中开启飞行模式。你的声音会高很多。
【讨论】:
以上是关于iOS - 使用 AVFoundation 录制声音后 iPhone 声音级别低的主要内容,如果未能解决你的问题,请参考以下文章
Swift IOS 使用 AVFoundation 录制视频和音频
在 iOS 中使用 AVFoundation 切换相机后视频录制不起作用
Objective-C:在 iOS 上使用 AVFoundation 录制视频时静音/取消静音