IOS devicesWithMediaType deprecated

前端 未结 2 1135
一个人的身影
一个人的身影 2021-02-09 12:02

I am currently using the method:

NSArray *captureDevices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];

to get a list of devices but X

相关标签:
2条回答
  • 2021-02-09 12:40
    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!:)

    • https://developer.apple.com/documentation/avfoundation/avcapturedevice
    • How to get front camera, back camera and audio with AVCaptureDeviceDiscoverySession
    • https://developer.apple.com/documentation/avfoundation/avcapturedevice.discoverysession/2361539-init
    0 讨论(0)
  • 2021-02-09 12:46

    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];
    

    Swift 4+

    let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: .back)
    

    Available

    Device types

    Media types

    Position

    0 讨论(0)
提交回复
热议问题