I am currently using the method:
NSArray *captureDevices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
to get a list of devices but XCode is giving me a warning:
Use AVCaptureDeviceDiscoverySession instead
I have looked at the documentation but do not know how to access the devices array
AVCaptureDeviceDiscoverySession *session = [[AVCaptureDeviceDiscoverySession alloc]init];
???
Create AVCaptureDeviceDiscoverySession
for your requirement and then call devices
method to get Array
of currently available devices matching the session’s criteria
Code:
AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera]
mediaType:AVMediaTypeVideo
position:AVCaptureDevicePositionBack];
NSArray *captureDevices = [captureDeviceDiscoverySession devices];
let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: .back)
Available
Device types
Media types
Position
AVCaptureDevice.default(.builtInWideAngleCamera, for: AVMediaTypeVideo, position: .front)
I think something like that would work. I think the AVCapture.DiscoverySession's initializer may be helpful as well. See the documentation and the stack overflow post on something similar in swift. Let me know if it helped!:)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With