CameraManager.AvailabilityCallback.OnPhysicalCameraAvailable 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
物理相机已可供再次使用。
[Android.Runtime.Register("onPhysicalCameraAvailable", "(Ljava/lang/String;Ljava/lang/String;)V", "GetOnPhysicalCameraAvailable_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)]
public virtual void OnPhysicalCameraAvailable(string cameraId, string physicalCameraId);
[<Android.Runtime.Register("onPhysicalCameraAvailable", "(Ljava/lang/String;Ljava/lang/String;)V", "GetOnPhysicalCameraAvailable_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)>]
abstract member OnPhysicalCameraAvailable : string * string -> unit
override this.OnPhysicalCameraAvailable : string * string -> unit
参数
- cameraId
- String
逻辑多相机的唯一标识符。
- physicalCameraId
- String
物理相机的唯一标识符。
- 属性
注解
物理相机已可供再次使用。
默认情况下,逻辑多相机的所有物理相机都可用,因此 #onPhysicalCameraAvailable
在调用逻辑多相机时 #onCameraAvailable
,不会为逻辑多相机的任何物理相机调用。 但是,如果某些特定的物理相机无法开始, #onPhysicalCameraUnavailable
可以在之后 #onCameraAvailable
调用。
如果android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersion
为 <#onPhysicalCameraAvailable
禁用其物理相机的和#onPhysicalCameraUnavailable
回调。 例如,如果应用 A 打开相机设备:
<ul>
<li>所有订阅 ActivityCallback 的应用都获取 #onCameraUnavailable
。</李>
<li>No app (包括 app A) 订阅 ActivityCallback 或#onPhysicalCameraAvailable
#onPhysicalCameraUnavailable
,因为逻辑相机不可用(某些应用正在使用它)。</李>
</ul>
如果 android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersion
≥ android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
:
<ul>
<li>物理相机状态更改将触发 #onPhysicalCameraAvailable
甚至 #onPhysicalCameraUnavailable
逻辑相机不可用之后。 #onCameraUnavailable
逻辑相机的调用不会重置物理相机的可用性状态。 这样,应用程序就可以打开逻辑相机设备,知道哪些物理相机不可用或可供使用。</李>
<li>与 android.os.Build.VERSION_CODES#TIRAMISU Android 13
之前类似,逻辑相机的 #onCameraAvailable
回调意味着其所有物理相机的状态都可用。 #onPhysicalCameraUnavailable
将在逻辑相机可用时调用任何不可用的物理相机。</李>
</ul>
鉴于相机捕获的 android.hardware.camera2.CaptureRequest
管道性质,如果应用程序从逻辑多相机的物理相机请求图像,并且物理相机变得不可用,则可能存在帧下降。 应用程序应在收到后立即 #onPhysicalCameraUnavailable
停止从不可用的物理相机请求,并准备好针对物理相机的请求可靠地处理帧删除错误,因为这些错误可能会在不可用回调之前到达。
此方法的默认实现不执行任何操作。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。