CameraDeviceFrameSource Class¶
Description¶
MonoBehaviour which controls CameraDevice in the scene, providing a few extensions in the Unity environment.
This frame source is not a motion tracking device, and will not output motion data in a ARSession .
Enums¶
public enum CameraDeviceFrameSource.CameraDeviceOpenMethod |
Open method of CameraDevice . |
Fields¶
CameraOpenMethod¶
- C#
public CameraDeviceFrameSource.CameraDeviceOpenMethod CameraOpenMethod
Camera open method. Only effective if modified before the CameraDeviceFrameSource.DeviceOpened event.
CameraOpenType¶
- C#
public CameraDeviceType CameraOpenType
Camera open type used when CameraDeviceFrameSource.CameraOpenMethod == CameraDeviceFrameSource.CameraDeviceOpenMethod.PreferredType or CameraDeviceFrameSource.CameraDeviceOpenMethod.SpecificType . Only effective if modified before the CameraDeviceFrameSource.DeviceOpened event.
CameraOpenIndex¶
- C#
public int CameraOpenIndex
Camera open index used when CameraDeviceFrameSource.CameraOpenMethod == CameraDeviceFrameSource.CameraDeviceOpenMethod.DeviceIndex . Only effective if modified before the CameraDeviceFrameSource.DeviceOpened event.
Properties¶
enabled¶
- C#
public bool enabled { get; set; }
Start/Stop video stream capture when ARSession is running. Capture will start only when MonoBehaviour .enabled is true after session started.
CameraCount¶
- C#
public static int CameraCount { get; }
Gets count of cameras recognized by the operating system.
Opened¶
- C#
public bool Opened { get; }
Whether camera is opened.
CameraType¶
- C#
public CameraDeviceType CameraType { get; }
Camera type. Only usable when CameraDeviceFrameSource.Opened is true.
Index¶
- C#
public int Index { get; }
Camera index. Only usable when CameraDeviceFrameSource.Opened is true.
AndroidCameraApiType¶
- C#
public AndroidCameraApiType AndroidCameraApiType { get; }
Gets current camera API (camera1 or camera2) on Android. Only usable when CameraDeviceFrameSource.Opened is true.
SupportedSize¶
- C#
public List< Vector2Int > SupportedSize { get; }
Supported preview size of current device. Only usable when CameraDeviceFrameSource.Opened is true.
SupportedFrameRateRange¶
- C#
public List< Vector2 > SupportedFrameRateRange { get; }
Supported frame rate ranges of current device. Only usable when CameraDeviceFrameSource.Opened is true.
FrameRateRange¶
- C#
public Vector2 FrameRateRange { get; }
Frame rate range. Only usable when CameraDeviceFrameSource.Opened is true.
Size¶
- C#
public Vector2Int Size { get; set; }
Current preview size. Only usable when CameraDeviceFrameSource.Opened is true.
The nearest value from CameraDeviceFrameSource.SupportedSize will be used when set.
If the image size is modified during the FrameRecorder recording process, the recording data will stop updating. You will need to stop and restart the recording.
FrameRateRangeIndex¶
- C#
public int FrameRateRangeIndex { get; set; }
Current index of frame rate range. Only usable when CameraDeviceFrameSource.Opened is true.
Parameters¶
- C#
public CameraParameters Parameters { get; set; }
Camera parameters. Only usable when CameraDeviceFrameSource.Opened is true.
FocusMode¶
- C#
public CameraDeviceFocusMode FocusMode { set; }
Focus mode. Only usable when CameraDeviceFrameSource.Opened is true.
DesiredFocusMode¶
- C#
public Optional< CameraDeviceFocusMode > DesiredFocusMode { get; set; }
Desired focus mode. Only effective if modified before the CameraDeviceFrameSource.DeviceOpened event.
Note: focus switch may not work on some devices due to hardware or system limitation. Default value will be chosen according to CameraDeviceFrameSource.DesiredCameraPreference will be used if not set.
DesiredAndroidCameraApiType¶
- C#
public Optional< AndroidCameraApiType > DesiredAndroidCameraApiType { get; set; }
Desired Camera Api on Android. Only effective if modified before the CameraDeviceFrameSource.DeviceOpened event.
Default value will be chosen according to CameraDeviceFrameSource.DesiredCameraPreference will be used if not set.
DesiredSize¶
- C#
public Optional< Vector2Int > DesiredSize { get; set; }
Desired camera preview size. Only effective if modified before the CameraDeviceFrameSource.DeviceOpened event.
The nearest value from CameraDeviceFrameSource.SupportedSize will be used. Default value will be used if not set.
DesiredCameraPreference¶
- C#
public Optional< CameraDevicePreference > DesiredCameraPreference { get; set; }
Camera preference used to create camera device. Only effective if modified before the session starts.
CameraCandidate¶
- C#
public Camera CameraCandidate { get; set; }
CameraDeviceFrameSource.Camera candidate. Camera.main will be used if not specified.
Events¶
DeviceOpened¶
- C#
public event Action<bool, PermissionStatus , string> DeviceOpened
Event when device opened. The bool value indicates if open success.
DeviceClosed¶
- C#
public event Action DeviceClosed
Event when device closed.
DeviceStateChanged¶
- C#
public event Action< CameraState > DeviceStateChanged
Event when device unavailable like disconnected or preempted. It is only available on Windows.
Methods¶
Open¶
- C#
public void Open()
Open device. If neither CameraDeviceFrameSource.Open nor CameraDeviceFrameSource.Close is called manually, CameraDeviceFrameSource.Open will be automatically invoked upon ARSession startup.
Can only be used after session start.
Close¶
- C#
public void Close()
Close device.
AutoFocus¶
- C#
public bool AutoFocus()
调用一次自动对焦。仅在FocusMode为Normal或Macro时才能使用。
SetFlashTorch¶
- C#
public bool SetFlashTorch(bool on)
Sets flash torch mode. Only usable when CameraDeviceFrameSource.Opened is true.