Objective c 什么';这是SupportsCaptureSessionPreset和canSetSessionPreset之间的区别

Objective c 什么';这是SupportsCaptureSessionPreset和canSetSessionPreset之间的区别,objective-c,avfoundation,Objective C,Avfoundation,在AVCaptureDevice中,我可以使用supportsAVCaptureSessionPreset 在AVCaptureSession中,我可以使用canSetSessionPreset 它们之间有什么不同,因为它们都检测会话预设是否可用。这与设备和会话不同步有关。会话可能支持4K,认为它仍然连接到旧设备,但一旦连接输入,它就会崩溃,说预设不受支持,因为新设备只有720P。另一方面,如果没有向会话添加新输入,则不允许将其从720P提升到4k。它将使您的预设保持在720P。我目前使用这两种

AVCaptureDevice
中,我可以使用
supportsAVCaptureSessionPreset

AVCaptureSession
中,我可以使用
canSetSessionPreset


它们之间有什么不同,因为它们都检测会话预设是否可用。

这与设备和会话不同步有关。会话可能支持4K,认为它仍然连接到旧设备,但一旦连接输入,它就会崩溃,说预设不受支持,因为新设备只有720P。另一方面,如果没有向会话添加新输入,则不允许将其从720P提升到4k。它将使您的预设保持在720P。我目前使用这两种方法,但我想知道我是否可以简单地使用设备而不使用会话

在前后iPhone摄像头之间切换时会发生这种情况