我有一个可通过AVAudioPlayer以及AudioUnit播放器实现播放音频的应用程序。从iOS6开始,通过扬声器的播放音量(无论播放机制如何)已大大降低-甚至在最大音量下也几乎听不到该音量。如果我只是简单地将音频 session 更改为kAudioSessionCategory_SoloAmbientSound或kAudioSessionCategory_MediaPlayback等其他音频 session ,则音量将恢复到iOS6之前的水平,但是我当然无法录制音频。在运行iOS5(或iOS4)的同一设备上,不同音频 session 类别的音量级别没有差异。
还有其他人遇到过这个问题吗?我一直试图找出如何在我的应用程序中将音量恢复到正常水平。我向Apple提交了一个错误,因为这似乎是一个错误,因为不同类别之间的音量水平差异很大,但是我不希望它们很快得到答案(或解决方案)。
配置音频 session :
UInt32 category = kAudioSessionCategory_PlayAndRecord;
error = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category);
if (error) {
// handle error
}
UInt32 speakerOverride = 1;
error = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(speakerOverride), &speakerOverride);
if (error) {
// handle error
}
最佳答案
您是否检查/设置了当前的硬件输出量?
kAudioSessionProperty_CurrentHardwareOutputVolume
如果您使用多声道调音台音频单元,还可以通过以下方法检查/设置音量:
kMultiChannelMixerParam_Volume
关于ios - 使用PlayAndRecord Audio Session 类别时iOS6的音量非常低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569510/