【发布时间】:2012-11-10 05:41:42
【问题描述】:
每当我使用 VoiceChat 模式时,我一直在自己的应用程序中遇到音频太低的问题,所以作为一个白痴检查,我下载了 Apple 的音频单元编程示例代码 (SpeakHere) 并将 VoiceChat 模式添加到那个应用程序。事实证明,问题也在那里发生:在该模式下运行会导致所有内容都达到所需音量的 20% 左右。
我在 SpeakHereController.mm 的第 267 行添加了这段代码,就在设置 PlayAndRecord 类别之后:
// set mode -- this results in audio being too soft
UInt32 mode = kAudioSessionMode_VoiceChat;
error = AudioSessionSetProperty(kAudioSessionProperty_Mode, sizeof(mode), &mode);
if (error) printf("couldn't set audio session mode!");
我正在使用带有 RemoteIO 的 VoiceChat 模式,以便在使用免提电话时获得回声消除; VoiceProcessingIO 可以工作(有点),但是旧 iPhone (3GS) 的性能非常糟糕,无法使用——这就是我改用 RemoteIO 的原因。我已确认扬声器路线是正确的。我什至尝试过设置测量模式并手动增加增益——我没有发现任何改进。
关于在使用 AudioSession 模式时防止大音量下降有什么建议吗?
【问题讨论】:
标签: ios avaudiosession