Class

AVCaptureDevice.DiscoverySession

A query for finding and monitoring available capture devices.

Declaration

class DiscoverySession : NSObject

Overview

Use this class to find all available capture devices matching a specific device type (such as microphone or wide-angle camera), supported media types for capture (such as audio, video, or both), and position (front- or back-facing).

After creating a device discovery session, you can inspect its devices array to choose a device for capture.

Topics

Creating a Session

init(deviceTypes: [AVCaptureDevice.DeviceType], mediaType: AVMediaType?, position: AVCaptureDevice.Position)

Creates a discovery session for finding devices with the specified criteria.

struct AVCaptureDevice.DeviceType

Values identifying the capture device’s type.

Discovering Devices

var devices: [AVCaptureDevice]

An array of currently available devices matching the session’s criteria.

var supportedMultiCamDeviceSets: [Set<AVCaptureDevice>]

An array of sets of capture devices that you can use simultaneously in a multi-camera session.

Relationships

Inherits From

Conforms To

See Also

Discovering Devices

init?(uniqueID: String)

Returns the device with a given ID.

class func `default`(for: AVMediaType) -> AVCaptureDevice?

Returns the default device used to capture data of a given media type.

class func `default`(AVCaptureDevice.DeviceType, for: AVMediaType?, position: AVCaptureDevice.Position) -> AVCaptureDevice?

Returns the default device for the specified device type, media type, and position.

enum AVCaptureDevice.Position

Constants to specify the position of a capture device.

struct AVCaptureDevice.DeviceType

Values identifying the capture device’s type.

static let AVCaptureDeviceWasConnected: NSNotification.Name

Posted when a new device becomes available.

static let AVCaptureDeviceWasDisconnected: NSNotification.Name

Posted when an existing device becomes unavailable.

class func devices() -> [AVCaptureDevice]

Returns an array of the available capture devices on the system.

Deprecated
class func devices(for: AVMediaType) -> [AVCaptureDevice]

Returns an array of the devices able to capture data of a given media type.

Deprecated