簡體   English   中英

如何在 CameraX 中設置視頻穩定參數?

[英]How to set Video Stabilisation parameter in CameraX?

我在我的應用程序中使用CameraX並想在構建視頻穩定功能中使用但我不知道該怎么做?

正如Camera.Parameters 中所記錄的那樣,有 3 種方法我們可以使用public void setVideoStabilization (boolean toggle)public boolean isVideoStabilizationSupported ()public boolean getVideoStabilization ()進行實時視頻穩定,但我沒有找到任何參考在 CameraX 中使用這些功能。 如果無法使用CameraX那么我應該使用Camera2嗎?

我認為使用cameraX您不能設置這些參數,您需要使用camera-apicamera2-api

以下是在 Camera2 中使用STABILIZATION模式的方法

...
captureRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
//Either of these two mode you can use one. 
captureRequestBuilder.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE, CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_ON);

captureRequestBuilder.set(CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE,CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE_ON);

您可以在此處找到這些模式的說明

實際上,從技術上講,您可以使用最新的 CameraX 來做到這一點。 但是您必須僅對 LIBRARY_GROUP 使用非公開的(還沒有?)API。 這是我如何在我的應用程序中禁用穩定功能:

val configBuilder = Camera2ImplConfig.Builder()
configBuilder.setCaptureRequestOption(
                CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE,
                CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE_OFF
)
    
configBuilder.setCaptureRequestOption(
                CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE,
                CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE_OFF
)
...
...
//After you bound your use cases
(camera.cameraControl as Camera2CameraControlImpl).addInteropConfig(configBuilder.build())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM