EditorCameraDeviceFrameSource Class¶
Description¶
MonoBehaviour which controls CameraDevice in the Unity Editor, only used for diagnostics purpose during developing. Usually everything you see does not represent real effect on your device when this frame source is used. You can develop app logic which is not relevant to AR effects, but can not judge AR running (detecting, tracking, localizing, etc.) effect according to the output
This frame source is not a motion tracking device, and will not output motion data in a ARSession .
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¶
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.