EditorCameraDeviceFrameSource Class¶
Description¶
在编辑器中控制 CameraDevice 的 MonoBehaviour ,仅用来提供开发诊断使用。通常当这个frame source在使用的时候,你看到的所有效果都和设备上运行是不同的。你可以使用它做一些AR效果无关的应用逻辑开发,但不能凭它判断AR运行(检测、跟踪、定位等)的效果。
这个frame source不是运动跟踪设备,在 ARSession 中不会输出运动数据。
Fields¶
CameraOpenMethod¶
- C#
public CameraDeviceFrameSource.CameraDeviceOpenMethod CameraOpenMethod
打开相机时使用的方法,在 CameraDeviceFrameSource.DeviceOpened 事件前修改才有效。
CameraOpenType¶
- C#
public CameraDeviceType CameraOpenType
打开相机时使用的Camera类型, CameraDeviceFrameSource.CameraOpenMethod == CameraDeviceFrameSource.CameraDeviceOpenMethod.PreferredType 或 CameraDeviceFrameSource.CameraDeviceOpenMethod.SpecificType 时使用,在 CameraDeviceFrameSource.DeviceOpened 事件前修改才有效。
CameraOpenIndex¶
- C#
public int CameraOpenIndex
打开相机时使用的设备索引, CameraDeviceFrameSource.CameraOpenMethod == CameraDeviceFrameSource.CameraDeviceOpenMethod.DeviceIndex 时使用,在 CameraDeviceFrameSource.DeviceOpened 事件前修改才有效。
Properties¶
Opened¶
- C#
public bool Opened { get; }
相机是否打开。
CameraType¶
- C#
public CameraDeviceType CameraType { get; }
camera类型。仅在 CameraDeviceFrameSource.Opened 为true时可用。
Index¶
- C#
public int Index { get; }
camera索引。仅在 CameraDeviceFrameSource.Opened 为true时可用。
AndroidCameraApiType¶
- C#
public AndroidCameraApiType AndroidCameraApiType { get; }
在Android上,可用于获得使用的Camera API(camera1或camera2)。。仅在 CameraDeviceFrameSource.Opened 为true时可用。
SupportedSize¶
- C#
public List< Vector2Int > SupportedSize { get; }
当前设备支持的所有图像大小。仅在 CameraDeviceFrameSource.Opened 为true时可用。
SupportedFrameRateRange¶
- C#
public List< Vector2 > SupportedFrameRateRange { get; }
当前设备支持的所有帧率范围。仅在 CameraDeviceFrameSource.Opened 为true时可用。
FrameRateRange¶
- C#
public Vector2 FrameRateRange { get; }
帧率范围。仅在 CameraDeviceFrameSource.Opened 为true时可用。
Size¶
- C#
public Vector2Int Size { get; set; }
当前图像大小。仅在 CameraDeviceFrameSource.Opened 为true时可用。
set会使用 CameraDeviceFrameSource.SupportedSize 中数值最接近的大小。
如果在 FrameRecorder 录制过程中修改了图像大小,录制数据将停止更新,需要关闭之后重新录制。
FrameRateRangeIndex¶
- C#
public int FrameRateRangeIndex { get; set; }
设备的当前帧率范围的索引。仅在 CameraDeviceFrameSource.Opened 为true时可用。
Parameters¶
- C#
public CameraParameters Parameters { get; set; }
camera参数。仅在 CameraDeviceFrameSource.Opened 为true时可用。
FocusMode¶
- C#
public CameraDeviceFocusMode FocusMode { set; }
对焦模式。仅在 CameraDeviceFrameSource.Opened 为true时可用。
DesiredFocusMode¶
- C#
public Optional< CameraDeviceFocusMode > DesiredFocusMode { get; set; }
期望的对焦模式,在 CameraDeviceFrameSource.DeviceOpened 事件前修改才有效。
注意:受硬件或系统限制,对焦开关在一些设备上可能无效。未设置将根据 CameraDeviceFrameSource.DesiredCameraPreference 进行选择。
DesiredAndroidCameraApiType¶
- C#
public Optional< AndroidCameraApiType > DesiredAndroidCameraApiType { get; set; }
期望的Android Camera Api,在 CameraDeviceFrameSource.DeviceOpened 事件前修改才有效。
未设置将根据 CameraDeviceFrameSource.DesiredCameraPreference 进行选择。
DesiredSize¶
- C#
public Optional< Vector2Int > DesiredSize { get; set; }
期望的相机图像大小,在 CameraDeviceFrameSource.DeviceOpened 事件前修改才有效。
会使用 CameraDeviceFrameSource.SupportedSize 中数值最接近的大小。未设置将使用默认值。
DesiredCameraPreference¶
- C#
public Optional< CameraDevicePreference > DesiredCameraPreference { get; set; }
创建相机设备时使用的偏好设置,在session启动前修改才有效。
CameraCandidate¶
- C#
public Camera CameraCandidate { get; set; }
CameraDeviceFrameSource.Camera 的备选,如未设置会使用Camera.main。
Events¶
DeviceOpened¶
- C#
public event Action<bool, PermissionStatus , string> DeviceOpened
设备打开的事件,bool值表示是否成功。
DeviceClosed¶
- C#
public event Action DeviceClosed
设备关闭的事件。
DeviceStateChanged¶
- C#
public event Action< CameraState > DeviceStateChanged
设备断开或抢占等无法使用事件(仅Windows)。
Methods¶
Open¶
- C#
public void Open()
打开设备。如果未手动调用 CameraDeviceFrameSource.Open 和 CameraDeviceFrameSource.Close , ARSession 启动后会自动 CameraDeviceFrameSource.Open 。
在session启动后才能使用。
Close¶
- C#
public void Close()
关闭设备。
AutoFocus¶
- C#
public bool AutoFocus()
Does auto focus once. It is only available when FocusMode is Normal or Macro.
SetFlashTorch¶
- C#
public bool SetFlashTorch(bool on)
设置flash torch模式。仅在 CameraDeviceFrameSource.Opened 为true时可用。