我在一个VoIP应用程序上工作.AudioSession的模式设置为kAudioSessionMode_VoiceChat.
对于一个调用,我打开一个带有子类型kAudioUnitSubType_VoiceProcessingIO的CoreAudio AudioUnit.一切正常.第一次调用后,我使用AudioUnitUninitialize()关闭AudioUnit,然后停用音频会话.
然而,现在,似乎音频设备没有正确释放:铃声音量非常低,媒体播放器的音量低于平时.对于后续调用,我不能再激活kAudioUnitSubType_VoiceProcessingIO.它可以用kAudioUnitSubType_RemoteIO创建一个AudioUnit,但是调用的音量也非常低(接收器和扬声器).
这首先发生在iOS 5上.随着iOS 6上的iPhone 5,它甚至更糟(甚至更低的音量).
有没有人见过这个?我需要做的不仅仅是AudioUnitUninitialize()来释放语音处理单元吗?
当我的应用程序运行时,我需要检测另一个应用程序何时使用iPhone/iPad的相机.我的应用程序继续在后台运行(音频),但它不使用相机本身.我只需要知道是否有其他应用程序正在使用任何相机.
此外,我希望尽可能少地使用CPU资源来最小化电池使用量.
我试过没有成功:
AVCaptureSession的捕获中断通知(它从未通知)lockForConfiguration所有AVCaptureDevice小号enabled财产AVCaptureInputPortconnected财产AVCaptureDevice为了澄清:
谢谢你的任何指示.
编辑:这是一个安全功能:我想警告用户,如果恶意(前景)应用程序在我的应用程序处于活动(后台)使用状态时拍摄用户或周围环境的照片或视频的可能性很小.