我使用 AVFoundation 框架中的 AVCamCaptureManager 类。同时我想用音量上键拍照。
据我了解,如今唯一可能的解决方案是使用音频会话(打开它并收听音量变化)。我从这里开始使用 RBVolumeButtons 类https://github.com/blladnar/RBVolumeButtons
当我的应用程序启动时, AVCamCaptureManager 会初始化音频会话。然后我需要开始监听音量的变化,所以 RBVolumeButtons 初始化一个新的音频会话,中断前一个。因此,相机停止,但我可以使用音量按钮。
如何避免这种中断,以及如何同时使用音量键和相机?也许我可以同时运行两个音频会话?或者也许有一种方法可以访问 AVCamCaptureManager 的音频会话并使用它?
非常感谢您考虑回答我的问题!
PS 我使用这一行在 RBVolumeButtons 类中添加属性侦听器:
AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self);