iOS 5/6 : low volume after first usage of CoreAudio

标签 ios core-audio voip volume

我在开发 VoIP 应用程序。 AudioSession 的模式设置为 kAudioSessionMode_VoiceChat。

为了通话,我打开了一个子类型为 kAudioUnitSubType_VoiceProcessingIO 的 CoreAudio AudioUnit。一切正常。第一次通话后,我使用 AudioUnitUninitialize() 关闭 AudioUnit 并停用 Audio Session 。

然而,现在似乎音频设备没有正确释放:铃声音量很低,媒体播放器的音量比平时低。对于后续调用,我无法再激活 kAudioUnitSubType_VoiceProcessingIO。它可以使用 kAudioUnitSubType_RemoteIO 创建一个 AudioUnit,但通话的音量也非常低(接收器和扬声器)。

这首先发生在 iOS 5 上。对于 iOS 6 上的 iPhone 5,情况更糟(甚至更低的音量)。

有人看过吗?我需要做的不仅仅是 AudioUnitUninitialize() 来释放语音处理单元吗?

最佳答案

我找到了解决方案:我错误地使用了 AudioUnitUninitialize() 来释放使用 AudioComponentInstanceNew() 检索到的音频组件。正确的做法是使用 AudioComponentInstanceDispose()

关于iOS 5/6 : low volume after first usage of CoreAudio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12688883/

相关文章:

ios - 在 iPod 之间使用 OpenSIPS?

ios - 具有 kAudioUnitType_Output 和 kAudioUnitSubType_RemoteIO 的音频单元默认使用低切滤波器吗?

iphone - 在iPhone上创建ADTS框架...问题

iphone - AudioQueue 吃掉了我的缓冲区(前 15 毫秒)

iOS MTKView(Metal Kit View )绘制图像时没有适当的比例

linux - CentOS Elastix Linux 中的两种路由

iphone - 在 Linphone iPhone 中调用失败

ios - 修改字典 [String : [String]]

ios - 将 xib 文件作为 UITableViewController 中的 header 添加到 UITableView

ios - 如何加入两个碰撞的 SKSpriteNode