科技界 新科技新应用
首页 /  科普知识 /  内容

小米12su自动切换镜头

科普知识 2023-07-10 15:00:35 书香云舍

Camera camera

=

Camera

.

open

;">)

;

Parameters params

=

camera

.

getParameters

;">)

;

List

<

String

>

focusModes

=

params

.

getSupportedFocusModes

;">)

;

if

;">.

contains

;">.

Parameters

.

FOCUS_MODE_AUTO

)

)

{

params

.

setFocusMode

;">.

Parameters

.

FOCUS_MODE_AUTO

)

;

}

int

cameraId

=

;

if

;">.

getNumberOfCameras

;">)

>

1

)

{

CameraInfo cameraInfo

=

new CameraInfo

;">)

;

for

;">int

i

=

;

i

<

Camera

.

getNumberOfCameras

;">)

;

i

+

+

)

{

Camera

.

getCameraInfo

;">,

cameraInfo

)

;

if

;">.

facing

==

CameraInfo

.

CAMERA_FACING_BACK

)

{

cameraId

=

i

;

break

;

}

}

}

camera

.

setParameters

;">)

;

camera

.

setDisplayOrientation

;">90

)

;

camera

.

startPreview

;">)

;

camera

.

autoFocus

;">.

AutoFocusCallback

;">)

{

@Override

public void onAutoFocus

;">,

Camera camera

)

{

if

;">)

{

camera

.

takePicture

;">,

null

,

null

,

new Camera

.

PictureCallback

;">)

{

@Override

public void onPictureTaken

;">[

]

data

,

Camera camera

)

{

//

处理拍摄的照片

}

}

)

;

}

}

}

)

;

手动切换镜头

小米12S Ultra手机相机应用程序也可以手动切换镜头。可以通过相机应用程序的界面或代码来实现。以下是示例代码:

Camera camera

=

Camera

.

open

;">)

;

Parameters params

=

camera

.

getParameters

;">)

;

List

<

String

>

focusModes

=

params

.

getSupportedFocusModes

;">)

;

if

;">.

contains

;">.

Parameters

.

FOCUS_MODE_AUTO

)

)

{

params

.

setFocusMode

;">.

Parameters

.

FOCUS_MODE_AUTO

)

;

}

int

cameraId

=

;

if

;">.

getNumberOfCameras

;">)

>

1

)

{

CameraInfo cameraInfo

=

new CameraInfo

;">)

;

for

;">int

i

=

;

i

<

Camera

.

getNumberOfCameras

;">)

;

i

+

+

)

{

Camera

.

getCameraInfo

;">,

cameraInfo

)

;

if

;">.

facing

==

CameraInfo

.

CAMERA_FACING_BACK

)

{

cameraId

=

i

;

break

;

}

}

}

params

.

setZoom

;">2

)

;

//

切换到长焦镜头

camera

.

setParameters

;">)

;

camera

.

setDisplayOrientation

;">90

)

;

camera

.

startPreview

;">)

;

camera

.

autoFocus

;">.

AutoFocusCallback

;">)

{

@Override

public void onAutoFocus

;">,

Camera camera

)

{

if

;">)

{

camera

.

takePicture

;">,

null

,

null

,

new Camera

.

PictureCallback

;">)

{

@Override

public void onPictureTaken

;">[

]

data

,

Camera camera

)

{

//

处理拍摄的照片

}

}

)

;

}

}

}

)

;

params

.

setZoom

;">0

)

;

//

切换到超广角镜头

camera

.

setParameters

;">)

;

camera

.

setDisplayOrientation

;">90

)

;

camera

.

startPreview

;">)

;

camera

.

autoFocus

;">.

AutoFocusCallback

;">)

{

@Override

public void onAutoFocus

;">,

Camera camera

)

{

if

;">)

{

camera

.

takePicture

;">,

null

,

null

,

new Camera

.

PictureCallback

;">)

{

@Override

public void onPictureTaken

;">[

]

data

,

Camera camera

)

{

//

处理拍摄的照片

}

}

)

;

}

}

}

)

;

以上示例代码仅供参考。

版权申明:文章由用户发布,不代表本网站立场,如果侵权请联系我们删除。