ios - 使用PlayAndRecord Audio Session 类别时iOS6的音量非常低

标签 ios audio ios6 core-audio audio-recording

我有一个可通过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/

相关文章:

ios - 当用户终止应用程序时重新连接蓝牙设备

ios - 无法在Xamarin Visual Studio中构建iOS应用

iphone - 在 xcode 4.5 GM IOS 6 中将方向设置为横向模式

ios - 不同 iOS 版本的多个版本作为一个应用程序

ios - 使用 NSLayoutConstraint 添加 UIButton

ios - 如何将 FBProfilePictureView 转换为 UIImage?

滚动时的 iOS TableView 索引值

python - 好的 Python 2 音频模块

java - Java中Matlab的audioread()或waveread()

c# - 将 32 位浮点音频转换为 16 位字节数组?