CameraManager.AvailabilityCallback.OnPhysicalCameraAvailable 方法

定义

物理相机已可供再次使用。

[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 targetSdkVersionandroid.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.hardware.camera2.CameraManager.AvailabilityCallback.onPhysicalCameraAvailable(java.lang.String, java.lang.String)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于