小米12su自动切换镜头
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
)
{
//
处理拍摄的照片
}
}
)
;
}
}
}
)
;
以上示例代码仅供参考。
版权申明:文章由用户发布,不代表本网站立场,如果侵权请联系我们删除。