Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
6479ea84
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
6479ea84
编写于
10月 14, 2022
作者:
O
openharmony_ci
提交者:
Gitee
10月 14, 2022
浏览文件
操作
浏览文件
下载
差异文件
!10621 add new apis.
Merge pull request !10621 from 蒋旻洋/master
上级
4deb29fb
7e09b86e
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
2883 addition
and
1148 deletion
+2883
-1148
zh-cn/application-dev/reference/apis/js-apis-camera.md
zh-cn/application-dev/reference/apis/js-apis-camera.md
+2883
-1148
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-camera.md
浏览文件 @
6479ea84
仅显示部分。点此显示全部。
...
...
@@ -21,7 +21,7 @@ getCameraManager(context: Context, callback: AsyncCallback<CameraManager\>): voi
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------- | ---- | ----------------------------
------
|
| -------- | ----------------------------------------------- | ---- | ---------------------------- |
| context | Context | 是 | 应用上下文。 |
| callback | AsyncCallback<
[
CameraManager
](
#cameramanager
)
\>
| 是 | 回调函数,用于获取相机管理器实例。 |
...
...
@@ -30,7 +30,7 @@ getCameraManager(context: Context, callback: AsyncCallback<CameraManager\>): voi
```
js
camera
.
getCameraManager
(
context
,
(
err
,
cameraManager
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get the CameraManager instance ${err.message}
'
);
console
.
error
(
`Failed to get the CameraManager instance
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the CameraManager instance
'
);
...
...
@@ -54,7 +54,7 @@ getCameraManager(context: Context): Promise<CameraManager\>
**返回值:**
| 类型 | 说明 |
| ----------------------------------------- | -----------------------------------
------
|
| ----------------------------------------- | ----------------------------------- |
| Promise<
[
CameraManager
](
#cameramanager
)
\>
| 使用Promise的方式获取一个相机管理器实例。 |
**示例:**
...
...
@@ -73,881 +73,921 @@ camera.getCameraManager(context).then((cameraManager) => {
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| CAMERA_STATUS_APPEAR | 0 |
相机存在
。 |
| CAMERA_STATUS_DISAPPEAR | 1 | 相机
不存在
。 |
| CAMERA_STATUS_AVAILABLE | 2 | 相机
就绪
。 |
| CAMERA_STATUS_UNAVAILABLE | 3 | 相机
未就绪
。 |
| CAMERA_STATUS_APPEAR | 0 |
新的相机出现
。 |
| CAMERA_STATUS_DISAPPEAR | 1 | 相机
被移除
。 |
| CAMERA_STATUS_AVAILABLE | 2 | 相机
可用
。 |
| CAMERA_STATUS_UNAVAILABLE | 3 | 相机
不可用
。 |
## Profile
## CameraPosition
枚举,相机方向。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| --------------------------- | ---- | ---------------- |
| CAMERA_POSITION_UNSPECIFIED | 0 | 未指定方向相机。 |
| CAMERA_POSITION_BACK | 1 | 后置相机。 |
| CAMERA_POSITION_FRONT | 2 | 前置相机。 |
## CameraType
枚举,相机类型。
相机配置信息项。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ----------------------- | ---- | ---------------- |
| CAMERA_TYPE_UNSPECIFIED | 0 | 未指定相机类型。 |
| CAMERA_TYPE_WIDE_ANGLE | 1 | 广角相机。 |
| CAMERA_TYPE_ULTRA_WIDE | 2 | 超级广角相机。 |
| CAMERA_TYPE_TELEPHOTO | 3 | 长焦相机。 |
| CAMERA_TYPE_TRUE_DEPTH | 4 | 深度相机。 |
| 名称 | 类型 | 只读 | 说明 |
| -------- | ----------------------------- |---- | ------------- |
| format |
[
CameraFormat
](
#cameraformat
)
| 是 | 输出格式。 |
| size |
[
Size
](
#size
)
| 是 | 分辨率。 |
##
ConnectionTyp
e
##
VideoProfil
e
枚举,相机连接类型
。
视频配置信息项
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称
| 值 | 说明
|
| -------------------------
--- | ---- | --
----------- |
|
CAMERA_CONNECTION_BUILT_IN | 0 | 内置相机。
|
|
CAMERA_CONNECTION_USB_PLUGIN | 1 | 外置USB相机。
|
|
CAMERA_CONNECTION_REMOTE | 2 | 分布式相机。
|
| 名称
| 类型 | 只读 | 说明
|
| -------------------------
| ----------------------------------------- | --- |
----------- |
|
format |
[
CameraFormat
](
#cameraformat
)
| 是 | 输出格式。
|
|
size |
[
Size
](
#size
)
| 是 | 分辨率。
|
|
frameRate | Array
<number>
| 是 | 帧率。
|
##
Size
##
CameraOutputCapability
用于表示相机预览、照片、视频支持的尺寸大小
。
相机输出能力项
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | ---- | ---- | ------------ |
| height | string | 是 | 是 | 图像的高度。 |
| width | number | 是 | 是 | 图像的宽度。 |
| 名称 | 类型 | 只读 | 说明 |
| ----------------------------- | -------------------------------------------------- | --- |------------------- |
| previewProfiles | Array<
[
Profile
](
#profile
)
\>
| 是 | 支持的预览配置信息。 |
| photoProfiles | Array<
[
Profile
](
#profile
)
\>
| 是 | 支持的拍照配置信息。 |
| videoProfiles | Array<
[
VideoProfile
](
#videoprofile
)
\>
| 是 | 支持的录像配置信息。 |
| supportedMetadataObjectTypes | Array<
[
MetadataObjectType
](
#metadataobjecttype
)
\>
| 是 | 支持的metadata流类型信息。|
## CameraManager
相机管理器类,使用前需要通过getCameraManager获取相机管理实例。
### getCameras
### get
Supported
Cameras
get
Cameras(callback: AsyncCallback<Array<Camera
\>\>
): void
get
SupportedCameras(callback: AsyncCallback<Array<CameraDevice
\>\>
): void
异步获取设备支持的相机列表
,通过注册回调函数获取结果。
获取支持指定的相机设备对象
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -----------------------------------------
| ---- | -----
------------------------------- |
| callback | AsyncCallback<Array<
[
Camera
](
#camera
)
\>\>
| 是 | 使用callback方式获取支持的相机列表。 |
| -------- | -----------------------------------------
------------ | ---- |
------------------------------- |
| callback | AsyncCallback<Array<
[
Camera
Device
](
#cameradevice
)
\>\>
| 是 | 使用callback方式获取支持的相机列表。 |
**示例:**
```
js
cameraManager
.
getCameras
((
err
,
cameras
)
=>
{
cameraManager
.
get
Supported
Cameras
((
err
,
cameras
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get the cameras. ${err.message}
'
);
console
.
error
(
`Failed to get the cameras.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with an array of supported cameras:
'
+
cameras
.
length
);
console
.
log
(
`Callback returned with an array of supported cameras:
${
cameras
.
length
}
`
);
})
```
### getCameras
### get
Supported
Cameras
get
Cameras(): Promise<Array<Camera
\>\>
get
SupportedCameras(): Promise<Array<CameraDevice
\>\>
异步获取设备支持的相机列表
,通过Promise获取结果。
获取支持指定的相机设备对象
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -----------------------------------
| ----
------------------------- |
| Promise<Array<
[
Camera
](
#camera
)
\>\>
| 使用promise获取支持相机列表。 |
| -----------------------------------
------------ |
------------------------- |
| Promise<Array<
[
Camera
Device
](
#cameradevice
)
\>\>
| 使用promise获取支持相机列表。 |
**示例:**
```
js
cameraManager
.
getCameras
().
then
((
cameraArray
)
=>
{
console
.
log
(
'
Promise returned with an array of supported cameras:
'
+
cameraArray
.
length
);
cameraManager
.
get
Supported
Cameras
().
then
((
cameraArray
)
=>
{
console
.
log
(
`Promise returned with an array of supported cameras:
${
cameraArray
.
length
}
`
);
})
```
### createCameraInput
createCameraInput(cameraId: string, callback: AsyncCallback<CameraInput
\>
): void
### getSupportedOutputCapability
使用相机ID异步创建CameraInput实例,通过注册回调函数获取结果。
getSupportedOutputCapability(callback: AsyncCallback<CameraOutputCapability
\>
): void
**需要权限:**
ohos.permission.CAMERA
查询相机设备在模式下支持的输出能力,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------- | ---- | ----------------------------------- |
| cameraId | string | 是 | 指定相机ID。 |
| callback | AsyncCallback<
[
CameraInput
](
#camerainput
)
\>
| 是 | 回调函数,用于获取CameraInput实例。 |
| -------- | ---------------------------------------------------------------- | -- | -------------------------- |
| callback | AsyncCallback<
[
CameraOutputCapability
](
#cameraoutputcapability
)
\>
| 是 | 使用callback方式获取相机输出能力。 |
**示例:**
```
js
cameraManager
.
createCameraInput
(
cameraId
,
(
err
,
cameraInput
)
=>
{
cameraManager
.
getSupportedOutputCapability
((
err
,
cameras
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to create the CameraInput instance. ${err.message}
'
);
console
.
error
(
`Failed to get the cameras.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the CameraInput instance.
'
);
console
.
log
(
'
Callback returned with
an array of supported outputCapability
'
);
})
```
### createCameraInput
createCameraInput(cameraId: string): Promise<CameraInput
\>
### getSupportedOutputCapability
使用相机ID异步创建CameraInput实例,通过Promise获取结果。
getSupportedOutputCapability(): Promise<CameraOutputCapability
\>
**需要权限:**
ohos.permission.CAMERA
查询相机设备在模式下支持的输出能力,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------
| ---- | --
---------- |
| camera
Id | string | 是 | 指定相机ID。
|
| -------- | ------
--------------------------- | ---- |
---------- |
| camera
|
[
CameraDevice
](
#cameradevice
)
| 是 | CameraDevice对象。
|
**返回值:**
| 类型 | 说明 |
| ------------------------------------- | ---------------------------------------- |
| Promise<
[
CameraInput
](
#camerainput
)
\>
| 使用Promise的方式获取CameraInput的实例。 |
| -------------------------------------------------------------- | ----------------------------- |
| Promise<
[
CameraOutputCapability
](
#cameraoutputcapability
)
\>
| 使用Promise的方式获取结果,返回相机输出能力。 |
**示例:**
```
js
cameraManager
.
createCameraInput
(
cameraId
).
then
((
cameraInput
)
=>
{
console
.
log
(
'
Promise returned with
the CameraInput instance
'
);
cameraManager
.
getSupportedOutputCapability
().
then
((
cameraoutputcapability
)
=>
{
console
.
log
(
'
Promise returned with
an array of supported outputCapability
'
);
})
```
### createCameraInput
createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback<CameraInput
\>
): void
### getSupportedMetadataObjectType
使用相机位置和相机类型异步创建CameraInput实例,通过注册回调函数获取结果。
getSupportedMetadataObjectType(callback: AsyncCallback<Array<MetadataObjectType
\>\>
): void
**需要权限:**
ohos.permission.CAMERA
查询相机设备支持的元能力信息,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------- | ---- | ----------------------------------- |
| position |
[
CameraPosition
](
#cameraposition
)
| 是 | 相机位置。 |
| type |
[
CameraType
](
#cameratype
)
| 是 | 相机类型。 |
| callback | AsyncCallback<
[
CameraInput
](
#camerainput
)
\>
| 是 | 回调函数,用于获取CameraInput实例。 |
| -------- | ---------------------------------------------------------------- | -- | -------------------------- |
| callback | AsyncCallback<Array<
[
MetadataObjectType
](
#metadataobject
)
\>\>
| 是 | 使用callback方式获取相机支持的元能力力信息。 |
**示例:**
```
js
cameraManager
.
createCameraInput
(
camera
.
CameraPosition
.
CAMERA_POSITION_BACK
,
camera
.
CameraType
.
CAMERA_TYPE_UNSPECIFIED
,
(
err
,
cameraInpu
t
)
=>
{
cameraManager
.
getSupportedMetadataObjectType
((
err
,
metadataobjec
t
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to create the CameraInput instance. ${err.message}
'
);
console
.
error
(
`Failed to get the supported metadataObjectType.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the CameraInput instance
'
);
console
.
log
(
'
Callback returned with
an array of supported metadataObjectType.
'
);
})
```
### createCameraInput
createCameraInput(position: CameraPosition, type: CameraType): Promise<CameraInput
\>
### getSupportedMetadataObjectType
使用相机位置和相机类型异步创建CameraInput实例,通过Promise获取结果。
getSupportedMetadataObjectType(): Promise<CameraOutputCapability
\>
**需要权限:**
ohos.permission.CAMERA
查询相机设备支持的元能力信息,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ---------- |
| position |
[
CameraPosition
](
#cameraposition
)
| 是 | 相机位置。 |
| type |
[
CameraType
](
#cameratype
)
| 是 | 相机类型。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------- | ---------------------------------------- |
| Promise<
[
CameraInput
](
#camerainput
)
\>
| 使用Promise的方式获取CameraInput的实例。 |
| -------------------------------------------------------------- | ----------------------------- |
| Promise<Array<
[
MetadataObjectType
](
#metadataobject
)
\>\>
| 使用Promise的方式获取结果,返回相机支持的元能力信息。 |
**示例:**
```
js
cameraManager
.
createCameraInput
(
camera
.
CameraPosition
.
CAMERA_POSITION_BACK
,
camera
.
CameraType
.
CAMERA_TYPE_UNSPECIFIED
).
then
((
cameraInpu
t
)
=>
{
console
.
log
(
'
Promise returned with
the CameraInput instance.
'
);
cameraManager
.
getSupportedMetadataObjectType
().
then
((
metadataobjec
t
)
=>
{
console
.
log
(
'
Promise returned with
an array of supported metadataObjectType.
'
);
})
```
###
on('cameraStatus')
###
createCameraInput
on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo
\>
): void
createCameraInput(camera: CameraDevice, callback: AsyncCallback<CameraInput
\>
): void
使用CameraDevice对象异步创建CameraInput实例,通过注册回调函数获取结果。
此接口为系统接口。
监听相机的状态变化,通过注册回调函数获取相机的状态变化。
**需要权限:**
ohos.permission.CAMERA
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :---------------------------------------------------- | :--- | :------------------
--------------------------------- |
|
type | string | 是 | 监听事件,固定为'cameraStatus',即相机状态变化事件。
|
| callback | AsyncCallback<
[
Camera
StatusInfo
](
#camerastatusinfo
)
\>
| 是 | 回调函数,用于获取相机状态变化信息。
|
|
-------- | ------------------------------------------- | ---- |
--------------------------------- |
|
camera |
[
CameraDevice
](
#cameradevice
)
| 是 | CameraDevice对象。
|
| callback | AsyncCallback<
[
Camera
Input
](
#camerainput
)
\>
| 是 | 回调函数,用于获取CameraInput实例。
|
**示例:**
```
js
cameraManager
.
on
(
'
cameraStatus
'
,
(
err
,
cameraStatusInfo
)
=>
{
cameraManager
.
createCameraInput
(
camera
,
(
err
,
cameraInput
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get cameraStatus callback. ${err.message}
'
);
console
.
error
(
`Failed to create the CameraInput instance.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
camera :
'
+
cameraStatusInfo
.
camera
.
cameraId
);
console
.
log
(
'
status:
'
+
cameraStatusInfo
.
status
);
console
.
log
(
'
Callback returned with the CameraInput instance.
'
);
})
```
##
Camera
##
# createCameraInput
调用
[
camera.getCameraManager
](
#cameragetcameramanager
)
后,将返回Camera实例,包括相机ID、位置、类型、连接类型等相机相关的元数据。
createCameraInput(camera: CameraDevice): Promise<CameraInput
\>
**系统能力:**
SystemCapability.Multimedia.Camera.Core
。
使用CameraDevice对象异步创建CameraInput实例,通过Promise获取结果
。
| 名称 | 类型 | 只读 | 说明 |
| -------------- | --------------------------------- | ---- | -------------- |
| cameraId | string | 是 | 相机ID。 |
| cameraPosition |
[
CameraPosition
](
#cameraposition
)
| 是 | 相机位置。 |
| cameraType |
[
CameraType
](
#cameratype
)
| 是 | 相机类型。 |
| connectionType |
[
ConnectionType
](
#connectiontype
)
| 是 | 相机连接类型。 |
此接口为系统接口。
**
示例:**
**
需要权限:**
ohos.permission.CAMERA
```
js
async
function
getCameraInfo
(
"
cameraId
"
)
{
var
cameraManager
=
await
camera
.
getCameraManager
(
context
);
var
cameras
=
await
cameraManager
.
getCameras
();
var
cameraObj
=
cameras
[
0
];
var
cameraId
=
cameraObj
.
cameraId
;
var
cameraPosition
=
cameraObj
.
cameraPosition
;
var
cameraType
=
cameraObj
.
cameraType
;
var
connectionType
=
cameraObj
.
connectionType
;
}
```
**系统能力:**
SystemCapability.Multimedia.Camera.Core
## CameraStatusInfo
**参数:**
相机管理器回调返回的接口实例,表示相机状态信息。
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------- | ---- | ---------- |
| camera |
[
CameraDevice
](
#cameradevice
)
| 是 | CameraDevice对象。 |
**
系统能力:**
SystemCapability.Multimedia.Camera.Core。
**
返回值:**
| 名称 | 类型 | 说明 |
| ------ | ----------------------------- | ---------- |
| camera |
[
Camera
](
#camera
)
| 相机信息。 |
| status |
[
CameraStatus
](
#camerastatus
)
| 相机状态。 |
| 类型 | 说明 |
| ------------------------------------- | ------------------------------------ |
| Promise<
[
CameraInput
](
#camerainput
)
\>
| 使用Promise的方式获取CameraInput的实例。 |
**示例:**
## CameraInput
```
js
cameraManager
.
createCameraInput
(
camera
).
then
((
cameraInput
)
=>
{
console
.
log
(
'
Promise returned with the CameraInput instance
'
);
})
```
### createCameraInput
相机输入类。在使用该类的方法前,需要先构建一个CameraInput实例。
createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback<CameraInput
\>
): void
### getCameraId
根据相机位置和类型创建CameraInput实例,通过注册回调函数获取结果。
getCameraId(callback: AsyncCallback<string
\>\)
: void
此接口为系统接口。
异步获取该CameraInput实例的相机ID,通过注册回调函数获取结果。
**需要权限:**
ohos.permission.CAMERA
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------- |
| callback | AsyncCallback<string
\>
| 是 | 回调函数,用于获取相机ID。 |
| -------- | ------------------------------------------- | ---- | --------------------------------- |
| position |
[
CameraPosition
](
#cameraposition
)
| 是 | 相机位置。 |
| type |
[
CameraType
](
#cameratype
)
| 是 | 相机类型。 |
| callback | AsyncCallback<
[
CameraInput
](
#camerainput
)
\>
| 是 | 回调函数,用于获取CameraInput实例。 |
**示例:**
```
js
camera
Input
.
getCameraId
((
err
,
cameraId
)
=>
{
camera
Manager
.
createCameraInput
(
camera
.
CameraPosition
.
CAMERA_POSITION_BACK
,
camera
.
CameraType
.
CAMERA_TYPE_UNSPECIFIED
,
(
err
,
cameraInput
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get the camera ID. ${err.message}
'
);
console
.
error
(
`Failed to create the CameraInput instance.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the
camera ID:
'
+
cameraId
);
console
.
log
(
'
Callback returned with the
CameraInput instance
'
);
})
```
### getCameraId
### createCameraInput
createCameraInput(position: CameraPosition, type:CameraType ): Promise<CameraInput
\>
根据相机位置和类型创建CameraInput实例,通过Promise获取结果。
getCameraId(): Promise<string
\>
此接口为系统接口。
异步获取该CameraInput实例的相机ID,通过Promise获取结果。
**需要权限:**
ohos.permission.CAMERA
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ------------ |
| position |
[
CameraPosition
](
#cameraposition
)
| 是 | 相机位置。 |
| type |
[
CameraType
](
#cameratype
)
| 是 | 相机类型。 |
**返回值:**
| 类型 | 说明 |
| ----------------
|
----------------------------- |
| Promise<
string
\>
| 使用Promise的方式获取相机ID
。 |
| ----------------
--------------------- | -------
----------------------------- |
| Promise<
[
CameraInput
](
#camerainput
)
\>
| 使用Promise的方式获取CameraInput的实例
。 |
**示例:**
```
js
camera
Input
.
getCameraId
().
then
((
cameraId
)
=>
{
console
.
log
(
'
Promise returned with the
camera ID:
'
+
cameraId
);
camera
Manager
.
createCameraInput
(
camera
.
CameraPosition
.
CAMERA_POSITION_BACK
,
camera
.
CameraType
.
CAMERA_TYPE_UNSPECIFIED
).
then
((
cameraInput
)
=>
{
console
.
log
(
'
Promise returned with the
CameraInput instance
'
);
})
```
### createPreviewOutput
### hasFlash
hasFlash(callback: AsyncCallback<boolean
\>
): void
createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PreviewOutput
\>
): void
判断设备是否支持闪光灯
,通过注册回调函数获取结果。
创建预览输出对象
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,返回true表示设备支持闪光灯。 |
| -------- | ----------------------------------------------- | ---- | ------------------------------- |
| profile |
[
Profile
](
#profile
)
| 是 | 支持的预览配置信息。 |
| surfaceId| string | 是 | 从
[
XComponent
](
../arkui-ts/ts-basic-components-xcomponent.md
)
或者
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
组件获取的SurfaceID。|
| callback | AsyncCallback<
[
PreviewOutput
](
#previewoutput
)
\>
| 是 | 回调函数,用于获取PreviewOutput实例。|
**示例:**
```
js
camera
Input
.
hasFlash
((
err
,
status
)
=>
{
camera
Manager
.
createPreviewOutput
(
profile
,
surfaceId
,
(
err
,
previewoutput
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to check whether the device has flash light. ${err.message}
'
);
console
.
error
(
`Failed to gcreate previewOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
flash light support status:
'
+
status
);
console
.
log
(
'
Callback returned with
previewOutput created.
'
);
})
```
###
hasFlash
###
createPreviewOutput
hasFlash(): Promise<boolean
\>
createPreviewOutput(profile: Profile, surfaceId: string): Promise<PreviewOutput
\>
判断设备是否支持闪光灯
,通过Promise获取结果。
创建预览输出对象
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------| ---- | ----------------- |
| profile |
[
Profile
](
#profile
)
| 是 | 支持的预览配置信息。 |
| surfaceId| string | 是 | 从
[
XComponent
](
../arkui-ts/ts-basic-components-xcomponent.md
)
或者
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
组件获取的SurfaceID。 |
**返回值:**
| 类型 | 说明 |
| -----------------
| ---------------
---------------------------------------- |
| Promise<
boolean
\>
| 使用Promise的方式获取结果,返回true表示设备支持闪光灯。
|
| -----------------
----------------------- |
---------------------------------------- |
| Promise<
[
PreviewOutput
](
#previewoutput
)
\>
| 使用Promise的方式获取PreviewOutput的实例。
|
**示例:**
```
js
camera
Input
.
hasFlash
().
then
((
status
)
=>
{
console
.
log
(
'
Promise returned with
the flash light support status:
'
+
status
);
camera
Manager
.
createPreviewOutput
(
profile
,
surfaceId
).
then
((
previewoutput
)
=>
{
console
.
log
(
'
Promise returned with
previewOutput created.
'
);
})
```
###
isFlashModeSupported
###
createDeferredPreviewOutput
isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean
\>
): void
createDeferredPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PreviewOutput
\>
): void
判断设备是否支持指定闪光灯模式
,通过注册回调函数获取结果。
尚未获取surfaceID时创建预览输出对象
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------- | ---- | ---------------------------------------- |
| flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式。 |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,返回true表示支持该闪光灯模式。 |
| -------- | ----------------------------------------------- | ---- | --------------------------------- |
| profile |
[
Profile
](
#profile
)
| 是 | 支持的预览配置信息。 |
| surfaceId| string | 是 | 从
[
XComponent
](
../arkui-ts/ts-basic-components-xcomponent.md
)
或者
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
组件获取的SurfaceID。 |
| callback | AsyncCallback<
[
PreviewOutput
](
#previewoutput
)
\>
| 是 | 回调函数,用于获取PreviewOutput实例。 |
**示例:**
```
js
camera
Input
.
isFlashModeSupported
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
,
(
err
,
status
)
=>
{
camera
Manager
.
createDeferredPreviewOutput
(
profile
,
surfaceId
,
(
err
,
previewoutput
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to check whether the flash mode is supported. ${err.message}
'
);
console
.
error
(
`Failed to create deferredPreviewOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the flash mode support status:
'
+
status
);
console
.
log
(
'
Callback returned with
deferredPreviewOutput created.
'
);
})
```
###
isFlashModeSupported
###
createDeferredPreviewOutput
isFlashModeSupported(flashMode: FlashMode): Promise<boolean
\>
createDeferredPreviewOutput(profile: Profile, surfaceId: string): Promise<PreviewOutput
\>
判断设备是否支持指定闪光灯模式
,通过Promise获取结果。
尚未获取surfaceID时创建预览输出对象
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------- | ---- | ---------------- |
| flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式。 |
| -------- | ---------------------------------| ---- | ---------- |
| profile |
[
Profile
](
#profile
)
| 是 | 支持的预览配置信息。 |
| surfaceId| string | 是 | 从
[
XComponent
](
../arkui-ts/ts-basic-components-xcomponent.md
)
或者
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
组件获取的SurfaceID。 |
**返回值:**
| 类型 | 说明 |
| -----------------
| ---------------------
--------------------------------------- |
| Promise<
boolean
\>
| 使用Promise的方式获取结果,返回true表示设备支持该闪光灯模式
。 |
| -----------------
------------------------ |
--------------------------------------- |
| Promise<
[
PreviewOutput
](
#previewoutput
)
\>
| 使用Promise的方式获取PreviewOutput的实例
。 |
**示例:**
```
js
camera
Input
.
isFlashModeSupported
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
).
then
((
status
)
=>
{
console
.
log
(
'
Promise returned with
flash mode support status.
'
+
status
);
camera
Manager
.
createDeferredPreviewOutput
(
profile
,
surfaceId
).
then
((
previewoutput
)
=>
{
console
.
log
(
'
Promise returned with
DefeerredPreviewOutput created.
'
);
})
```
### setFlashMode
setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void
\>
): void
设置闪光灯模式,通过注册回调函数获取结果。
### createPhotoOutput
进行设置之前,需要先检查:
createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PhotoOutput
\>
): void
1.
设备是否支持闪光灯,可使用方法
[
hasFlash
](
#hasflash
)
。
2.
设备是否支持指定的闪光灯模式,可使用方法
[
isFlashModeSupported
](
#isflashmodesupported
)
。
创建拍照输出对象,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------- | ---- | ------------------------ |
| flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
| -------- | ------------------------------------------- | ---- | ----------------------------------- |
| profile |
[
Profile
](
#profile
)
| 是 | 支持的拍照配置信息。 |
| surfaceId| string | 是 | 从
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
获取的SurfaceID。|
| callback | AsyncCallback<
[
PhotoOutput
](
#photooutput
)
\>
| 是 | 回调函数,用于获取PhotoOutput实例。 |
**示例:**
```
js
camera
Input
.
setFlashMode
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
,
(
err
)
=>
{
camera
Manager
.
createPhotoOutput
(
profile
,
surfaceId
,
(
err
,
photooutput
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to set the flash mode ${err.message}
'
);
console
.
error
(
`Failed to create photoOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the successful execution of setFlashMode
.
'
);
console
.
log
(
'
Callback returned with
photoOutput created
.
'
);
})
```
### setFlashMode
setFlashMode(flashMode: FlashMode): Promise<void
\>
设置闪光灯模式,通过Promise获取结果。
### createPhotoOutput
进行设置之前,需要先检查:
createPhotoOutput(profile: Profile, surfaceId: string): Promise<PreviewOutput
\>
1.
设备是否支持闪光灯,可使用方法
[
hasFlash
](
#hasflash
)
。
2.
设备是否支持指定的闪光灯模式,可使用方法
[
isFlashModeSupported
](
#isflashmodesupported
)
。
创建拍照输出对象,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------- | ---- | ---------------- |
| flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式。 |
| -------- | ---------------------------------| ---- | ----------- |
| profile |
[
Profile
](
#profile
)
| 是 | 支持的拍照配置信息。 |
| surfaceId| string | 是 | 从
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
获取的SurfaceID。|
**返回值:**
| 类型 | 说明 |
| --------------
|
--------------------------- |
| Promise<
void
\>
| 使用Promise的方式获取结果。
|
| --------------
----------------------- | -----------
--------------------------- |
| Promise<
[
PhotoOutput
](
#photooutput
)
\>
| 使用Promise的方式获取PhotoOutput的实例。
|
**示例:**
```
js
camera
Input
.
setFlashMode
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
).
then
((
)
=>
{
console
.
log
(
'
Promise returned with
the successful execution of setFlashMode
.
'
);
camera
Manager
.
createPhotoOutput
(
profile
,
surfaceId
).
then
((
photooutput
)
=>
{
console
.
log
(
'
Promise returned with
photoOutput created
.
'
);
})
```
###
getFlashMode
###
createVideoOutput
getFlashMode(callback: AsyncCallback<FlashMode
\>
): void
createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback<VideoOutput
\>
): void
获取当前设备的闪光灯模式
,通过注册回调函数获取结果。
创建录像输出对象
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------------------------------------- |
| callback | AsyncCallback<
[
FlashMode
](
#flashmode
)
\>
| 是 | 回调函数,用于获取当前设备的闪光灯模式。 |
| -------- | ------------------------------------------- | ---- | ------------------------------ |
| profile |
[
VideoProfile
](
#videoprofile
)
| 是 | 支持的录像配置信息。 |
| surfaceId| string | 是 | 从
[
VideoRecorder
](
js-apis-media.md#videorecorder9
)
获取的SurfaceID。|
| callback | AsyncCallback<
[
VideoOutput
](
#videooutput
)
\>
| 是 | 回调函数,用于获取VideoOutput实例。 |
**示例:**
```
js
camera
Input
.
getFlashMode
((
err
,
flashMode
)
=>
{
camera
Manager
.
createVideoOutput
(
profile
,
surfaceId
,
(
err
,
videooutput
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get the flash mode ${err.message}
'
);
console
.
error
(
`Failed to create videoOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
current flash mode:
'
+
flashMode
);
console
.
log
(
'
Callback returned with
an array of supported outputCapability
'
);
})
```
###
getFlashMode
###
createVideoOutput
getFlashMode(): Promise<FlashMode
\>
createVideoOutput(profile: VideoProfile, surfaceId: string): Promise<VideoOutput
\>
获取当前设备的闪光灯模式
,通过Promise获取结果。
创建录像输出对象
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------| ---- | ---------- |
| profile |
[
VideoProfile
](
#videoprofile
)
| 是 | 支持的录像配置信息。 |
| surfaceId| string | 是 | 从
[
VideoRecorder
](
js-apis-media.md#videorecorder9
)
获取的SurfaceID。|
**返回值:**
| 类型 | 说明 |
| ---------------------------------
| -
-------------------------------------- |
| Promise<
[
FlashMode
](
#flashmode
)
\>
| 使用Promise的方式获取当前的闪光灯模式。
|
| ---------------------------------
---- |
-------------------------------------- |
| Promise<
[
VideoOutput
](
#videooutput
)
\>
| 使用Promise的方式获取videoOutput的实例。
|
**示例:**
```
js
camera
Input
.
getFlashMode
().
then
((
flashMode
)
=>
{
console
.
log
(
'
Promise returned with
current flash mode :
'
+
flashMode
);
camera
Manager
.
createVideoOutput
(
profile
,
surfaceId
).
then
((
videooutput
)
=>
{
console
.
log
(
'
Promise returned with
videoOutput created.
'
);
})
```
###
isFocusModeSupported
###
createMetadataOutput
isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean
\>
): void
createMetadataOutput(callback: AsyncCallback<MetadataOutput
\>
): void
判断设备是否支持指定的焦距模式
,通过注册回调函数获取结果。
创建metadata流输出对象
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,返回true表示支持该焦距模式。 |
| -------------------- | -------------------------------------------------- | --- | ---------------------------- |
| callback | AsyncCallback<
[
MetadataOutput
](
#metadataoutput
)
\>
| 是 | 回调函数,用于获取MetadataOutput实例。 |
**示例:**
```
js
camera
Input
.
isFocusModeSupported
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
,
(
err
,
status
)
=>
{
camera
Manager
.
createMetadataOutput
((
err
,
metadataoutput
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to check whether the focus mode is supported. ${err.message}
'
);
console
.
error
(
`Failed to create metadataOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the focus mode support status:
'
+
status
);
console
.
log
(
'
Callback returned with
metadataOutput created.
'
);
})
```
###
isFocusModeSupported
###
createMetadataOutput
isFocusModeSupported(afMode: FocusMode): Promise<boolean
\
>
createMetadataOutput(): Promise
<MetadataOutput
>
判断设备是否支持指定的焦距模式
,通过Promise获取结果。
创建metadata流输出对象
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------- | ---- | ---------------- |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
**返回值:**
| 类型 | 说明 |
| -----------------
| ------------------
----------------------------------------- |
| Promise<
boolean
\>
| 使用Promise的方式获取结果,返回true表示设备支持该焦距模式
。 |
| -----------------
------------------------- |
----------------------------------------- |
| Promise<
[
MetadataOutput
](
#metadataoutput
)
\>
| 使用Promise的方式获取MetadataOutput的实例
。 |
**示例:**
```
js
camera
Input
.
isFocusModeSupported
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
).
then
((
status
)
=>
{
console
.
log
(
'
Promise returned with
focus mode support status.
'
+
status
);
camera
Manager
.
createMetadataOutput
().
then
((
metadataoutput
)
=>
{
console
.
log
(
'
Promise returned with
metadataOutput created.
'
);
})
```
### setFocusMode
setFocusMode(afMode: FocusMode, callback: AsyncCallback<void
\>
): void
### createCaptureSession
设置焦距模式,通过注册回调函数获取结果。
createCaptureSession(callback: AsyncCallback<CaptureSession
\>
): void
进行设置之前,需要先检查设备是否支持指定的焦距模式,可使用方法
[
isFocusModeSupported
](
#isfocusmodesupported
)
。
创建CaptureSession实例,通过注册回调函数获取结果
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------ |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
| -------------------- | ----------------------------------------- | ----------- | ---------------------------- |
| callback | AsyncCallback<
[
CaptureSession
](
#capturesession
)
\>
| 是 | 回调函数,用于获取拍照会话实例。 |
**示例:**
```
js
camera
Input
.
setFocusMode
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
,
(
err
)
=>
{
camera
Manager
.
createCaptureSession
((
err
,
capturesession
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to set the focus mode ${err.message}
'
);
console
.
error
(
`Failed to create captureSession.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the successful execution of setFocusMode
.
'
);
console
.
log
(
'
Callback returned with
captureSession created
.
'
);
})
```
### setFocusMode
setFocusMode(afMode: FocusMode): Promise<void
\>
### createCaptureSession
设置焦距模式,通过Promise获取结果。
createCaptureSession(): Promise<CaptureSession
\>
进行设置之前,需要先检查设备是否支持指定的焦距模式,可使用方法
[
isFocusModeSupported
](
#isfocusmodesupported
)
。
创建CaptureSession实例,通过Promise获取结果
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------- | ---- | ---------------- |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
**返回值:**
| 类型 | 说明 |
| --------------
|
--------------------------- |
| Promise<
void
\>
| 使用Promise的方式获取结果
。 |
| --------------
----------------------------- | -------------
--------------------------- |
| Promise<
[
CaptureSession
](
#capturesession
)
\>
| 使用Promise的方式获取CaptureSession的实例
。 |
**示例:**
```
js
camera
Input
.
setFocusMode
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
).
then
((
)
=>
{
console
.
log
(
'
Promise returned with
the successful execution of setFocusMode
.
'
);
camera
Manager
.
createCaptureSession
().
then
((
capturesession
)
=>
{
console
.
log
(
'
Promise returned with
captureSession created
.
'
);
})
```
###
getFocusMode
###
on('cameraStatus')
getFocusMode(callback: AsyncCallback<FocusMode
\>
): void
on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo
\>
): void
获取当前设备的焦距模式,通过注册回调函数获取结果
。
镜头状态回调,通过注册回调函数获取相机的状态变化
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<
[
FocusMode
](
#focusmode
)
\>
| 是 | 回调函数,用于获取当前设备的焦距模式。 |
| -------- | ----------------------------------------------------- | ---- | --------- |
| type | string | 是 | 监听事件,固定为'cameraStatus',即镜头状态变化事件。 |
| callback | AsyncCallback<
[
CameraStatusInfo
](
#camerastatusinfo
)
\>
| 是 | 回调函数,用于获取镜头状态变化信息。 |
**示例:**
```
js
camera
Input
.
getFocusMode
((
err
,
afMode
)
=>
{
camera
Manager
.
on
(
'
cameraStatus
'
,
(
err
,
cameraStatusInfo
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get the focus mode ${err.message}
'
);
console
.
error
(
`Failed to get cameraStatus callback.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with current focus mode:
'
+
afMode
);
console
.
log
(
`camera :
${
cameraStatusInfo
.
camera
.
cameraId
}
`
);
console
.
log
(
`status:
${
cameraStatusInfo
.
status
}
`
);
})
```
### getFocusMode
getFocusMode(): Promise<FocusMode
\>
获取当前设备的焦距模式,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------------------- |
| Promise<FocusMode
\>
| 使用Promise的方式获取当前的焦距模式。 |
**示例:**
### on('cameraMute')
```
js
cameraInput
.
getFocusMode
().
then
((
afMode
)
=>
{
console
.
log
(
'
Promise returned with current focus mode :
'
+
afMode
);
})
```
on(type: 'cameraMute', callback: AsyncCallback<boolean
\>
): void
### getZoomRatioRange
监听相机禁用的状态变化,通过注册回调函数获取相机的状态变化。
getZoomRatioRange
\(
callback: AsyncCallback<Array<number
\>\>\)
: void
此接口为系统接口。
获取可变焦距比范围,通过注册回调函数获取结果。
**需要权限:**
ohos.permission.CAMERA
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------ | ---- | ------------------------ |
| callback | AsyncCallback<Array<number
\>\>
| 是 | 回调函数,用于获取可变焦距比范围,返回的数组包括其最小值和最大值。 |
| -------- | --------------------------------------- | ---- | ------------------------------- |
| type | string | 是 | 监听事件,固定为'cameraMute',即相机状禁用态变化事件。 |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,用于获取相机是否禁用。 |
**示例:**
```
js
camera
Input
.
getZoomRatioRange
((
err
,
zoomRatioRange
)
=>
{
camera
Manager
.
on
(
'
cameraMute
'
,
(
err
,
status
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get the zoom ratio range. ${err.message}
'
);
console
.
error
(
`Failed to get cameraMute callback.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with zoom ratio range:
'
+
zoomRatioRange
.
length
);
console
.
log
(
`status:
${
status
}
`
);
})
```
##
# getZoomRatioRange
##
CameraStatusInfo
getZoomRatioRange
\(\)
: Promise<Array<number
\>\>
相机管理器回调返回的接口实例,表示相机状态信息。
**系统能力:**
SystemCapability.Multimedia.Camera.Core。
| 名称 | 类型 | 说明 |
| ------ | ----------------------------- | ---------- |
| camera |
[
CameraDevice
](
#cameradevice
)
| 相机信息。 |
| status |
[
CameraStatus
](
#camerastatus
)
| 相机状态。 |
## CameraPosition
获取可变焦距比范围,通过Promise获取结果
。
枚举,相机位置
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 名称 | 值 | 说明 |
| --------------------------- | ---- | -------------- |
| CAMERA_POSITION_UNSPECIFIED | 0 | 相机位置未指定。 |
| CAMERA_POSITION_BACK | 1 | 后置相机。 |
| CAMERA_POSITION_FRONT | 2 | 前置相机。 |
| 类型 | 说明 |
| ------------------------ | ------------------------------------------- |
| Promise<Array<number
\>\>
| 使用Promise的方式获取当前的可变焦距比范围,返回的数组包括其最小值和最大值。 |
## CameraType
枚举,相机类型。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ----------------------- | ---- | -------------- |
| CAMERA_TYPE_UNSPECIFIED | 0 | 相机类型未指定。 |
| CAMERA_TYPE_WIDE_ANGLE | 1 | 广角相机。 |
| CAMERA_TYPE_ULTRA_WIDE | 2 | 超广角相机。 |
| CAMERA_TYPE_TELEPHOTO | 3 | 长焦相机。 |
| CAMERA_TYPE_TRUE_DEPTH | 4 | 带景深信息的相机。 |
## ConnectionType
枚举,相机连接类型。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ---------------------------- | ---- | ------------- |
| CAMERA_CONNECTION_BUILT_IN | 0 | 内置相机。 |
| CAMERA_CONNECTION_USB_PLUGIN | 1 | USB连接的相机。 |
| CAMERA_CONNECTION_REMOTE | 2 | 远程连接的相机。 |
## CameraDevice
相机设备信息。
**系统能力:**
SystemCapability.Multimedia.Camera.Core。
| 名称 | 类型 | 只读 | 说明 |
| -------------- | --------------------------------- | ---- | ---------- |
| cameraId | string | 是 | CameraDevice对象|
| cameraPosition |
[
CameraPosition
](
#cameraposition
)
| 是 | 相机位置。 |
| cameraType |
[
CameraType
](
#cameratype
)
| 是 | 相机类型。 |
| connectionType |
[
ConnectionType
](
#connectiontype
)
| 是 | 相机连接类型。 |
**示例:**
```
js
cameraInput
.
getZoomRatioRange
().
then
((
zoomRatioRange
)
=>
{
console
.
log
(
'
Promise returned with zoom ratio range:
'
+
zoomRatioRange
.
length
);
})
async
function
getCameraInfo
(
"
cameraId
"
)
{
let
cameraManager
=
await
camera
.
getCameraManager
(
context
);
let
cameras
=
await
cameraManager
.
getSupportedCameras
();
let
cameraObj
=
cameras
[
0
];
let
cameraId
=
cameraObj
.
cameraId
;
let
cameraPosition
=
cameraObj
.
cameraPosition
;
let
cameraType
=
cameraObj
.
cameraType
;
let
connectionType
=
cameraObj
.
connectionType
;
}
```
##
# setZoomRatio
##
Size
setZoomRatio(zoomRatio: number, callback: AsyncCallback<void
\>
): void
枚举,输出能力查询。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | ---- | ---- | ------------ |
| height | number | 是 | 是 | 图像尺寸高(像素)。 |
| width | number | 是 | 是 | 图像尺寸宽(像素)。 |
## Point
枚举,点坐标用于对焦、曝光配置。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------ |
| x | number | 是 | 点的x坐标。 |
| y | number | 是 | 点的y坐标。 |
设置可变焦距比,通过注册回调函数获取结果。
## CameraFormat
枚举,输出格式。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 默认值 | 说明 |
| ----------------------- | --------- | ------------ |
| CAMERA_FORMAT_YUV_420_SP| 1003 | YUV 420 SP格式的图片。 |
| CAMERA_FORMAT_JPEG | 2000 | JPEG格式的图片。 |
## CameraInput
会话中
[
CaptureSession
](
#capturesession
)
使用的相机信息。
### open
open
\(
callback: AsyncCallback<void
\>\)
: void
打开相机,通过注册回调函数获取状态。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | -------------------- | ---- | ------------------------ |
| zoomRatio | number | 是 | 可变焦距比。 |
| -------- | -------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
cameraInput
.
setZoomRatio
(
1
,
(
err
)
=>
{
cameraInput
.
open
(
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to set the zoom ratio value ${err.message}
'
);
console
.
error
(
`Failed to open the camera.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the successful execution of setZoomRatio
.
'
);
console
.
log
(
'
Callback returned with
camera opened
.
'
);
})
```
###
setZoomRatio
###
open
setZoomRatio(zoomRatio: number
): Promise<void
\>
open(
): Promise<void
\>
设置可变焦距比,通过Promise获取结果
。
打开相机,通过Promise获取相机的状态
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ------------ |
| zoomRatio | number | 是 | 可变焦距比。 |
**返回值:**
| 类型 | 说明 |
| -------------- | -----------------------
----
|
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
cameraInput
.
setZoomRatio
(
1
).
then
(()
=>
{
console
.
log
(
'
Promise returned with
the successful execution of setZoomRatio
.
'
);
cameraInput
.
open
(
).
then
(()
=>
{
console
.
log
(
'
Promise returned with
camera opened
.
'
);
})
```
###
getZoomRatio
###
close
getZoomRatio(callback: AsyncCallback<number
\>
): void
close
\(
callback: AsyncCallback<void
\>\
)
: void
获取当前的可变焦距比,通过注册回调函数获取结果
。
关闭相机,通过注册回调函数获取状态
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | --------------------
-- | ---- | ----
-------------------- |
| callback | AsyncCallback<
number
\>
| 是 | 回调函数,用于获取结果。 |
| -------- | --------------------
| ---- |
-------------------- |
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
cameraInput
.
getZoomRatio
((
err
,
zoomRatio
)
=>
{
cameraInput
.
close
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to get the zoom ratio ${err.message}
'
);
console
.
error
(
`Failed to close the cameras.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with c
urrent zoom ratio:
'
+
zoomRatio
);
console
.
log
(
'
Callback returned with c
amera closed.
'
);
})
```
###
getZoomRatio
###
close
getZoomRatio(): Promise<number
\>
close(): Promise<void
\>
获取当前的可变焦距比,通过Promise获取结果
。
关闭相机,通过Promise获取状态
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| --------------
-- | ----
----------------------- |
| Promise<
number
\>
| 使用Promise的方式获取结果。 |
| --------------
|
----------------------- |
| Promise<
void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
cameraInput
.
getZoomRatio
().
then
((
zoomRatio
)
=>
{
console
.
log
(
'
Promise returned with c
urrent zoom ratio :
'
+
zoomRatio
);
cameraInput
.
close
().
then
((
)
=>
{
console
.
log
(
'
Promise returned with c
amera closed.
'
);
})
```
...
...
@@ -955,14 +995,14 @@ cameraInput.getZoomRatio().then((zoomRatio) => {
release
\(
callback: AsyncCallback<void
\>\)
: void
释放
相机实例
,通过注册回调函数获取结果。
释放
资源
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------
-----
|
| -------- | -------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
...
...
@@ -970,7 +1010,7 @@ release\(callback: AsyncCallback<void\>\): void
```
js
cameraInput
.
release
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to release the CameraInput instance ${err.message}
'
);
console
.
error
(
`Failed to release the CameraInput instance
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate that the CameraInput instance is released successfully.
'
);
...
...
@@ -981,14 +1021,14 @@ cameraInput.release((err) => {
release(): Promise<void
\>
释放
相机实例
,通过Promise获取结果。
释放
资源
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | -----------------------
----
|
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
...
...
@@ -999,29 +1039,6 @@ cameraInput.release().then(() => {
})
```
### on('focusStateChange')
on(type: 'focusStateChange', callback: AsyncCallback<FocusState
\>
): void
监听焦距的状态变化,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| :------- | :---------------------------------------- | :--- | :------------------------------------------------------- |
| type | string | 是 | 监听事件,固定为'focusStateChange',即焦距状态变化事件。 |
| callback | AsyncCallback<
[
FocusState
](
#focusstate
)
\>
| 是 | 回调函数,用于获取焦距状态。 |
**示例:**
```
js
cameraInput
.
on
(
'
focusStateChange
'
,
(
focusState
)
=>
{
console
.
log
(
'
Focus state :
'
+
focusState
);
})
```
### on('error')
on(type: 'error', callback: ErrorCallback<CameraInputError
\>
): void
...
...
@@ -1033,7 +1050,7 @@ on(type: 'error', callback: ErrorCallback<CameraInputError\>): void
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :------------------------------- | :--- | :----
------------------------------------------- |
|
-------- | -------------------------------- | ---- |
------------------------------------------- |
| type | string | 是 | 监听事件,固定为'error',即CameraInput错误事件。 |
| callback | ErrorCallback<
[
CameraInputError
](
#camerainputerror
)
\>
| 是 | 回调函数,用于获取结果。 |
...
...
@@ -1041,28 +1058,33 @@ on(type: 'error', callback: ErrorCallback<CameraInputError\>): void
```
js
cameraInput
.
on
(
'
error
'
,
(
cameraInputError
)
=>
{
console
.
log
(
'
Camera input error code:
'
+
cameraInputError
.
code
);
console
.
log
(
`Camera input error code:
${
cameraInputError
.
code
}
`
);
})
```
## CameraInputErrorCode
枚举,
CameraInput的错误码
。
枚举,
[
CameraInput
](
#camerainput
)
错误类型
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ------------- | ---- | ---------- |
| -------------
------------
| ---- | ---------- |
| ERROR_UNKNOWN | -1 | 未知错误。 |
| ERROR_NO_PERMISSION | 0 | 没有权限。 |
| ERROR_DEVICE_PREEMPTED | 1 | 相机被抢占。 |
| ERROR_DEVICE_DISCONNECTED | 2 | 相机断开连接。 |
| ERROR_DEVICE_IN_USE | 3 | 相机正在使用。 |
| ERROR_DRIVER_ERROR | 4 | 驱动错误。 |
## CameraInputError
CameraInput错误对象
。
[
CameraInput
](
#camerainput
)
错误码
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 说明 |
| ---- | -------------------------------------------
| -----
--------------------- |
| ---- | -------------------------------------------
-- |
--------------------- |
| code |
[
CameraInputErrorCode
](
#camerainputerrorcode
)
| CameraInput中的错误码。 |
...
...
@@ -1073,95 +1095,77 @@ CameraInput错误对象。
**系统能力:**
SystemCapability.Multimedia.Camera.Core。
| 名称 | 值 | 说明 |
| ---------------------- | ---- | ----------
--
|
| ---------------------- | ---- | ---------- |
| FLASH_MODE_CLOSE | 0 | 闪光灯关闭。 |
| FLASH_MODE_OPEN | 1 | 闪光灯
开启
。 |
| FLASH_MODE_OPEN | 1 | 闪光灯
打开
。 |
| FLASH_MODE_AUTO | 2 | 自动闪光灯。 |
| FLASH_MODE_ALWAYS_OPEN | 3 | 闪光灯常亮。 |
##
Focus
Mode
##
Exposure
Mode
枚举,
焦距
模式。
枚举,
曝光
模式。
**系统能力:**
SystemCapability.Multimedia.Camera.Core。
| 名称 | 值 | 说明 |
| -------------------------- | ---- | ------------------ |
| FOCUS_MODE_MANUAL | 0 | 手动变焦模式。 |
| FOCUS_MODE_CONTINUOUS_AUTO | 1 | 连续自动变焦模式。 |
| FOCUS_MODE_AUTO | 2 | 自动变焦模式。 |
| FOCUS_MODE_LOCKED | 3 | 定焦模式。 |
| ----------------------------- | ---- | ----------- |
| EXPOSURE_MODE_LOCKED | 0 | 锁定曝光模式。 |
| EXPOSURE_MODE_AUTO | 1 | 自动曝光模式。 |
| EXPOSURE_MODE_CONTINUOUS_AUTO | 2 | 连续自动曝光。 |
## Focus
Stat
e
## Focus
Mod
e
枚举,焦距
状态
。
枚举,焦距
模式
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core。
| 名称 | 值 | 说明 |
| --------------------- | ---- | ------------ |
| FOCUS_STATE_SCAN | 0 | 扫描状态。 |
| FOCUS_STATE_FOCUSED | 1 | 相机已对焦。 |
| FOCUS_STATE_UNFOCUSED | 2 | 相机未对焦。 |
## camera.createCaptureSession
createCaptureSession
\(
context: Context, callback: AsyncCallback<CaptureSession
\>\)
: void
获取CaptureSession实例,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| -------------------------- | ---- | ------------ |
| FOCUS_MODE_MANUAL | 0 | 手动对焦。 |
| FOCUS_MODE_CONTINUOUS_AUTO | 1 | 连续自动对焦。 |
| FOCUS_MODE_AUTO | 2 | 自动变焦。 |
| FOCUS_MODE_LOCKED | 3 | 对焦锁定。 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | -------------------------------------- |
| context | Context | 是 | 应用上下文。 |
| callback | AsyncCallback<
[
CaptureSession
](
#capturesession
)
\>
| 是 | 回调函数,用于获取CaptureSession实例。 |
**示例:**
## FocusState
```
js
camera
.
createCaptureSession
((
context
),
(
err
,
captureSession
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to create the CaptureSession instance. ${err.message}
'
);
return
;
}
console
.
log
(
'
Callback returned with the CaptureSession instance.
'
+
captureSession
);
});
```
枚举,焦距状态。
## camera.createCaptureSession
**系统能力:**
SystemCapability.Multimedia.Camera.Core。
createCaptureSession(context: Context
\)
: Promise<CaptureSession
\>
;
| 名称 | 值 | 说明 |
| --------------------- | ---- | --------- |
| FOCUS_STATE_SCAN | 0 | 触发对焦。 |
| FOCUS_STATE_FOCUSED | 1 | 对焦成功。 |
| FOCUS_STATE_UNFOCUSED | 2 | 未完成对焦。 |
获取CaptureSession实例,通过Promise获取结果。
## ExposureState
**系统能力:**
SystemCapability.Multimedia.Camera.Core
枚举,曝光状态。
**
参数:**
**
系统能力:**
SystemCapability.Multimedia.Camera.Core。
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | ------------ |
| context | Context | 是 | 应用上下文。 |
| 名称 | 值 | 说明 |
| ------------------------- | ---- | -------- |
| EXPOSURE_STATE_SCAN | 0 | 曝光中。 |
| EXPOSURE_STATE_CONVERGED | 1 | 曝光收敛。 |
**返回值:**
## VideoStabilizationMode
| 类型 | 说明 |
| ------------------------------------------- | ----------------------------------------- |
| Promise<
[
CaptureSession
](
#capturesession
)
\>
| 使用Promise的方式获取CaptureSession实例。 |
枚举,视频防抖模式。
**
示例:**
**
系统能力:**
SystemCapability.Multimedia.Camera.Core。
```
js
camera
.
createCaptureSession
(
context
).
then
((
captureSession
)
=>
{
console
.
log
(
'
Promise returned with the CaptureSession instance
'
);
})
```
| 名称 | 值 | 说明 |
| --------- | ---- | ------------ |
| OFF | 0 | 关闭视频防抖功能。 |
| LOW | 1 | 使用基础防抖算法。 |
| MIDDLE | 2 | 使用防抖效果一般的防抖算法,防抖效果优于LOW类型。 |
| HIGH | 3 | 使用防抖效果最好的防抖算法,防抖效果优于MIDDLE类型。 |
| AUTO | 4 | 自动进行选择。 |
## CaptureSession
拍照会话类。
拍照会话类
,保存一次相机运行所需要的所有资源
[
CameraInput
](
#camerainput
)
、
[
CameraOutput
](
#cameraoutput
)
,并向相机设备申请完成相机功能(录像,拍照)
。
### beginConfig
...
...
@@ -1174,7 +1178,7 @@ beginConfig\(callback: AsyncCallback<void\>\): void
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------
-----
|
| -------- | -------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
...
...
@@ -1182,7 +1186,7 @@ beginConfig\(callback: AsyncCallback<void\>\): void
```
js
captureSession
.
beginConfig
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to start the configuration. ${err.message}
'
);
console
.
error
(
`Failed to start the configuration.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the begin config success.
'
);
...
...
@@ -1200,7 +1204,7 @@ beginConfig\(\): Promise<void\>
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
...
...
@@ -1216,14 +1220,14 @@ captureSession.beginConfig().then(() => {
commitConfig
\(
callback: AsyncCallback<void
\>\)
: void
提交
会话配置
,通过注册回调函数获取结果。
提交
配置信息
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | --------------------
----
|
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
...
...
@@ -1231,7 +1235,7 @@ commitConfig\(callback: AsyncCallback<void\>\): void
```
js
captureSession
.
commitConfig
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to commit the configuration. ${err.message}
'
);
console
.
error
(
`Failed to commit the configuration.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the commit config success.
'
);
...
...
@@ -1242,14 +1246,14 @@ captureSession.commitConfig((err) => {
commitConfig
\(\)
: Promise<void
\>
提交
会话配置
,通过Promise获取结果。
提交
配置信息
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
...
...
@@ -1260,546 +1264,529 @@ captureSession.commitConfig().then(() => {
})
```
###
a
ddInput
###
canA
ddInput
addInput
\(
cameraInput: CameraInput, callback: AsyncCallback<void
\>\
)
: void
canAddInput(cameraInput: CameraInput, callback: AsyncCallback<boolean
\>
): void
在当前会话中,添加一个CameraInput实例
,通过注册回调函数获取结果。
判断是否可以添加
[
CameraInput
](
#camerainput
)
到会话中
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------
---
|
| ----------- | --------------------------- | ---- | ------------------------ |
| cameraInput |
[
CameraInput
](
#camerainput
)
| 是 | 需要添加的CameraInput实例。 |
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。 |
| callback | AsyncCallback<
boolean
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
addInput
(
cameraInput
,
(
err
)
=>
{
captureSession
.
canAddInput
(
cameraInput
,
(
err
,
status
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to add the CameraInput instance. ${err.message}
'
);
console
.
error
(
`Can not add cameraInput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback
invoked to indicate that the CameraInput instance is
added.
'
);
})
;
console
.
log
(
'
Callback
returned with cameraInput can
added.
'
);
})
```
###
a
ddInput
###
canA
ddInput
addInput
\(
cameraInput: CameraInput
\)
: Promise<void
\>
canAddInput(cameraInput: CameraInput): Promise<boolean
\>
在当前会话中,添加一个CameraInput实例,通过
Promise获取结果。
判断是否可以添加
[
CameraInput
](
#camerainput
)
到会话中,通过注
Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------
---
|
| ----------- | --------------------------- | ---- | ------------------------ |
| cameraInput |
[
CameraInput
](
#camerainput
)
| 是 | 需要添加的CameraInput实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------
-
|
| Promise<
void
\>
| 使用Promise的方式获取结果。 |
| -------------- | -------------------------- |
| Promise<
boolean
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
a
ddInput
(
cameraInput
).
then
(()
=>
{
console
.
log
(
'
Promise
used to indicate that the CameraInput instance is
added.
'
);
captureSession
.
canA
ddInput
(
cameraInput
).
then
(()
=>
{
console
.
log
(
'
Promise
returned with cameraInput can
added.
'
);
})
```
### add
Out
put
### add
In
put
add
Output
\(
previewOutput: PreviewOut
put, callback: AsyncCallback<void
\>\)
: void
add
Input
\(
cameraInput: CameraIn
put, callback: AsyncCallback<void
\>\)
: void
在当前会话中,添加一个PreviewOutput实例
,通过注册回调函数获取结果。
把
[
CameraInput
](
#camerainput
)
加入到会话
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -----------
-- | ------------------------------- | ---- | -----
------------------------ |
|
previewOutput |
[
PreviewOutput
](
#previewoutput
)
| 是 | 需要添加的PreviewOut
put实例。 |
| -----------
| --------------------------- | ---- |
------------------------ |
|
cameraInput |
[
CameraInput
](
#camerainput
)
| 是 | 需要添加的CameraIn
put实例。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
add
Output
(
previewOut
put
,
(
err
)
=>
{
captureSession
.
add
Input
(
cameraIn
put
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to add the PreviewOutput instance ${err.message}
'
);
console
.
error
(
`Failed to add the CameraInput instance.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate that the
PreviewOut
put instance is added.
'
);
console
.
log
(
'
Callback invoked to indicate that the
CameraIn
put instance is added.
'
);
});
```
### add
Out
put
### add
In
put
add
Output
\(
previewOutput: PreviewOut
put
\)
: Promise<void
\>
add
Input
\(
cameraInput: CameraIn
put
\)
: Promise<void
\>
在当前会话中,添加一个PreviewOutput实例
,通过Promise获取结果。
把
[
CameraInput
](
#camerainput
)
加入到会话
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -----------
-- | ------------------------------- | ---- | -----
------------------------ |
|
previewOutput |
[
PreviewOutput
](
#previewoutput
)
| 是 | 需要添加的PreviewOut
put实例。 |
| -----------
| --------------------------- | ---- |
------------------------ |
|
cameraInput |
[
CameraInput
](
#camerainput
)
| 是 | 需要添加的CameraIn
put实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
add
Output
(
previewOut
put
).
then
(()
=>
{
console
.
log
(
'
Promise used to indicate that the
PreviewOut
put instance is added.
'
);
captureSession
.
add
Input
(
cameraIn
put
).
then
(()
=>
{
console
.
log
(
'
Promise used to indicate that the
CameraIn
put instance is added.
'
);
})
```
###
addOut
put
###
removeIn
put
addOutput
\(
photoOutput: PhotoOut
put, callback: AsyncCallback<void
\>\)
: void
removeInput
\(
cameraInput: CameraIn
put, callback: AsyncCallback<void
\>\)
: void
在当前会话中,添加一个PhotoOutput实例
,通过注册回调函数获取结果。
移除
[
CameraInput
](
#camerainput
)
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------
---
|
|
photoOutput |
[
PhotoOutput
](
#photooutput
)
| 是 | 需要添加的PhotoOut
put实例。 |
| ----------- | --------------------------- | ---- | ------------------------ |
|
cameraInput |
[
CameraInput
](
#camerainput
)
| 是 | 需要移除的CameraIn
put实例。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
addOutput
(
photoOut
put
,
(
err
)
=>
{
captureSession
.
removeInput
(
cameraIn
put
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to add the PhotoOutput instance ${err.message}
'
);
console
.
error
(
`Failed to remove the CameraInput instance.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate that the
PhotoOutput instance is add
ed.
'
);
console
.
log
(
'
Callback invoked to indicate that the
cameraInput instance is remov
ed.
'
);
});
```
###
addOut
put
###
removeIn
put
addOutput
\(
photoOutput: PhotoOut
put
\)
: Promise<void
\>
removeInput
\(
cameraInput: CameraIn
put
\)
: Promise<void
\>
在当前会话中,添加一个PhotoOutput实例
,通过Promise获取结果。
移除
[
CameraInput
](
#camerainput
)
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------
---
|
|
photoOutput |
[
PhotoOutput
](
#photooutput
)
| 是 | 需要添加的PhotoOut
put实例。 |
| ----------- | --------------------------- | ---- | ------------------------ |
|
cameraInput |
[
CameraInput
](
#camerainput
)
| 是 | 需要移除的CameraIn
put实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | -------------------------
--
|
| Promise
\<
void> | 使用Promise的方式获取结果。 |
| -------------- | ------------------------- |
| Promise
\<
void
\
>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
addOutput
(
photoOut
put
).
then
(()
=>
{
console
.
log
(
'
Promise
used to indicate that the PhotoOutput instance is add
ed.
'
);
captureSession
.
removeInput
(
cameraIn
put
).
then
(()
=>
{
console
.
log
(
'
Promise
returned to indicate that the cameraInput instance is remov
ed.
'
);
})
```
###
a
ddOutput
###
canA
ddOutput
addOutput
\(
videoOutput: VideoOutput, callback: AsyncCallback<void
\>\)
: void
canAddOutput(cameraOutput: CameraOutput, callback: AsyncCallback<boolean
\>\)
: void
在当前会话中,添加一个VideoOutput实例
,通过注册回调函数获取结果。
查询是否可以添加
[
CameraOutput
](
#cameraoutput
)
到会话中
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -----------
| --------------------------- | ---- | --
------------------------- |
|
videoOutput |
[
VideoOutput
](
#videooutput
)
| 是 | 需要添加的Video
Output实例。 |
| callback
| AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。
|
| -----------
-- | ------------------------------- | ---- |
------------------------- |
|
cameraOutput |
[
CameraOutput
](
#cameraoutput
)
| 是 | 需要添加的Camera
Output实例。 |
| callback
| AsyncCallback<boolean
\>
| 是 | 回调函数,用于获取结果。
|
**示例:**
```
js
captureSession
.
addOutput
(
videoOutput
,
(
err
)
=>
{
captureSession
.
canAddOutput
(
cameraOutput
,
(
err
,
status
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to add the VideoOutput instance ${err.message}
'
);
console
.
error
(
`Can not add cameraOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback
invoked to indicate that the VideoOutput instance is
added.
'
);
})
;
console
.
log
(
'
Callback
returned with cameraOutput can
added.
'
);
})
```
###
a
ddOutput
###
canA
ddOutput
addOutput
\(
videoOutput: VideoOutput
\)
: Promise<void
\>
canAddOutput(cameraOutput: CameraOutput): Promise<boolean
\>
在当前会话中,添加一个VideoOutput实例
,通过Promise获取结果。
查询是否可以添加
[
CameraOutput
](
#cameraoutput
)
到会话中
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput |
[
VideoOutput
](
#videooutput
)
| 是 | 需要添加的VideoOutput实例。 |
| ------------- | ------------------------------- | ---- | ------------------------- |
| cameraOutput |
[
CameraOutput
](
#cameraoutput
)
| 是 | 需要添加的CameraOutput实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise
\<
void> | 使用Promise的方式获取结果。 |
| Promise<boolean
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
addOutput
(
video
Output
).
then
(()
=>
{
console
.
log
(
'
Promise
used to indicate that the VideoOutput instance is
added.
'
);
captureSession
.
canAddOutput
(
camera
Output
).
then
(()
=>
{
console
.
log
(
'
Promise
returned with cameraOutput can
added.
'
);
})
```
###
removeIn
put
###
addOut
put
removeInput
\(
cameraInput: CameraIn
put, callback: AsyncCallback<void
\>\)
: void
addOutput
\(
cameraOutput: CameraOut
put, callback: AsyncCallback<void
\>\)
: void
在当前会话中,移除一个CameraInput实例
,通过注册回调函数获取结果。
把
[
CameraOutput
](
#cameraoutput
)
加入到会话
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -----------
| --------------------------- | ---- | ---
------------------------ |
| camera
Input |
[
CameraInput
](
#camerainput
)
| 是 | 需要移除的CameraIn
put实例。 |
| -----------
-- | ------------------------------- | ---- |
------------------------ |
| camera
Output |
[
CameraOutput
](
#cameraoutput
)
| 是 | 需要添加的CameraOut
put实例。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
removeInput
(
cameraIn
put
,
(
err
)
=>
{
captureSession
.
addOutput
(
cameraOut
put
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to remove the CameraInput instance. ${err.message}
'
);
console
.
error
(
`Failed to add output.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback
invoked to indicate that the cameraInput instance is remov
ed.
'
);
})
;
console
.
log
(
'
Callback
returned with output add
ed.
'
);
})
```
###
removeIn
put
###
addOut
put
removeInput
\(
cameraInput: CameraIn
put
\)
: Promise<void
\>
addOutput
\(
cameraOutput: CameraOut
put
\)
: Promise<void
\>
在当前会话中,移除一个CameraInput实例
,通过Promise获取结果。
把
[
CameraOutput
](
#cameraoutput
)
加入到会话
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -----------
| --------------------------- | ---- | --
------------------------- |
| camera
Input |
[
CameraInput
](
#camerainput
)
| 是 | 需要移除的CameraIn
put实例。 |
| -----------
-- | ------------------------------- | ---- |
------------------------- |
| camera
Output |
[
CameraOutput
](
#cameraoutput
)
| 是 | 需要添加的CameraOut
put实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | -----------------------
----
|
| Promise
\<
void
> | 使用Promise的方式获取结果。 |
| -------------- | ----------------------- |
| Promise
<void
\
>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
removeInput
(
cameraIn
put
).
then
(()
=>
{
console
.
log
(
'
Promise returned
to indicate that the cameraInput instance is remov
ed.
'
);
captureSession
.
addOutput
(
cameraOut
put
).
then
(()
=>
{
console
.
log
(
'
Promise returned
with cameraOutput add
ed.
'
);
})
```
### removeOutput
removeOutput
\(
previewOutput: Preview
Output, callback: AsyncCallback<void
\>\)
: void
removeOutput
\(
cameraOutput: Camera
Output, callback: AsyncCallback<void
\>\)
: void
在当前会话中,移除一个PreviewOutput实例
,通过注册回调函数获取结果。
从会话中移除
[
CameraOutput
](
#cameraoutput
)
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------------- | ------------------------------- | ---- | ------------------------
-----
|
|
previewOutput |
[
PreviewOutput
](
#previewoutput
)
| 是 | 需要移除的Preview
Output实例。 |
| ------------- | ------------------------------- | ---- | ------------------------ |
|
cameraOutput |
[
CameraOutput
](
#cameraoutput
)
| 是 | 需要移除的Camera
Output实例。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
removeOutput
(
preview
Output
,
(
err
)
=>
{
captureSession
.
removeOutput
(
camera
Output
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to remove the PreviewOutput instance. ${err.message}
'
);
console
.
error
(
`Failed to remove the CameraOutput instance.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate that the
Preview
Output instance is removed.
'
);
console
.
log
(
'
Callback invoked to indicate that the
Camera
Output instance is removed.
'
);
});
```
### removeOutput
removeOutput(
previewOutput: Preview
Output): Promise<void
\>
removeOutput(
cameraOutput: Camera
Output): Promise<void
\>
在当前会话中,移除一个PreviewOutput实例
,通过Promise获取结果。
从会话中移除
[
CameraOutput
](
#cameraoutput
)
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------------- | ------------------------------- | ---- | -------------------------
----
|
|
previewOutput |
[
PreviewOutput
](
#previewoutput
)
| 是 | 需要移除的Preview
Output实例。 |
| ------------- | ------------------------------- | ---- | ------------------------- |
|
cameraOutput |
[
CameraOutput
](
#cameraoutput
)
| 是 | 需要移除的Camera
Output实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
removeOutput
(
preview
Output
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that the
Preview
Output instance is removed.
'
);
captureSession
.
removeOutput
(
camera
Output
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that the
Camera
Output instance is removed.
'
);
})
```
###
removeOutpu
t
###
star
t
removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void
\>
): void
start
\(
callback: AsyncCallback<void
\>\
)
: void
在当前会话中,移除一个PhotoOutput实例
,通过注册回调函数获取结果。
开始会话工作
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput |
[
PhotoOutput
](
#photooutput
)
| 是 | 需要移除的PhotoOutput实例。 |
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
removeOutput
(
photoOutput
,
(
err
)
=>
{
captureSession
.
start
(
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to remove the PhotoOutput instance. ${err.message}
'
);
console
.
error
(
`Failed to start the session
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate th
at the PhotoOutput instance is removed
.
'
);
console
.
log
(
'
Callback invoked to indicate th
e session start success
.
'
);
});
```
###
removeOutpu
t
###
star
t
removeOutput(photoOutput: PhotoOutput
): Promise<void
\>
start
\(\
)
: Promise<void
\>
在当前会话中,移除一个PhotoOutput实例
,通过Promise获取结果。
开始会话工作
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput |
[
PhotoOutput
](
#photooutput
)
| 是 | 需要移除的PhotoOutput实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
removeOutput
(
photoOutput
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate th
at the PhotoOutput instance is removed
.
'
);
captureSession
.
start
(
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate th
e session start success
.
'
);
})
```
###
removeOutput
###
stop
removeOutput(videoOutput: VideoOutput, callback: AsyncCallback<void
\>
): void
stop
\(
callback: AsyncCallback<void
\>\
)
: void
在当前会话中,移除一个VideoOutput实例
,通过注册回调函数获取结果。
停止会话工作
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput |
[
VideoOutput
](
#videooutput
)
| 是 | 需要移除的VideoOutput实例。 |
| -------- | -------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
removeOutput
(
videoOutput
,
(
err
)
=>
{
captureSession
.
stop
(
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to remove the VideoOutput instance. ${err.message}
'
);
console
.
error
(
`Failed to stop the session
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate th
at the VideoOutput instance is removed
.
'
);
console
.
log
(
'
Callback invoked to indicate th
e session stop success
.
'
);
});
```
###
removeOutput
###
stop
removeOutput(videoOutput: VideoOutput
): Promise<void
\>
stop(
): Promise<void
\>
在当前会话中,移除一个VideoOutput实例
,通过Promise获取结果。
停止会话工作
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput |
[
VideoOutput
](
#videooutput
)
| 是 | 需要移除的VideoOutput实例。 |
**返回值:**
| 类型 | 说明 |
| -------------- | -----------------------
----
|
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
removeOutput
(
videoOutput
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate th
at the VideoOutput instance is removed
.
'
);
captureSession
.
stop
(
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate th
e session stop success
.
'
);
})
```
###
start
###
lockForControl
start
\(
callback: AsyncCallback<void
\>\
)
: void
lockForControl(callback: AsyncCallback<void
\>
): void
启动拍照会话
,通过注册回调函数获取结果。
请求以独占方式控制设备的硬件属性
[
CameraInput
](
#camerainput
)
,需要调用
[
unlockForControl
](
#unlockforcontrol
)
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------
-----
|
| -------- | -------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
start
((
err
)
=>
{
captureSession
.
lockForControl
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to start the session ${err.message}
'
);
console
.
error
(
`Failed to lock.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the session start success
.
'
);
})
;
console
.
log
(
'
Locked
.
'
);
})
```
###
start
###
lockForControl
start
\(\
)
: Promise<void
\>
lockForControl(
): Promise<void
\>
启动拍照会话
,通过Promise获取结果。
请求以独占方式控制设备的硬件属性
[
CameraInput
](
#camerainput
)
,需要调用
[
unlockForControl
](
#unlockforcontrol
)
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
start
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate the session start success
.
'
);
captureSession
.
lockForControl
().
then
(()
=>
{
console
.
log
(
'
Locked
.
'
);
})
```
###
stop
###
unlockForControl
stop
\(
callback: AsyncCallback<void
\>\
)
: void
unlockForControl(callback: AsyncCallback<void
\>
): void
停止拍照会话
,通过注册回调函数获取结果。
控制生效,并放弃对设备配置的排他控制
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | --------------------
----
|
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
captureSession
.
stop
((
err
)
=>
{
captureSession
.
unlockForControl
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to stop the session ${err.message}
'
);
console
.
error
(
`Failed to unlock.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the session stop success
.
'
);
})
;
console
.
log
(
'
Unlocked
.
'
);
})
```
###
stop
###
unlockForControl
stop
(): Promise<void
\>
unlockForControl
(): Promise<void
\>
停止拍照会话
,通过Promise获取结果。
控制生效,并放弃对设备配置的排他控制
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
captureSession
.
stop
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate the session stop success
.
'
);
captureSession
.
unlockForControl
().
then
(()
=>
{
console
.
log
(
'
Unlocked
.
'
);
})
```
...
...
@@ -1807,14 +1794,14 @@ captureSession.stop().then(() => {
release
\(
callback: AsyncCallback<void
\>\)
: void
释放
CaptureSession实例
,通过注册回调函数获取结果。
释放
会话资源
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | --------------------
----
|
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
...
...
@@ -1822,7 +1809,7 @@ release\(callback: AsyncCallback<void\>\): void
```
js
captureSession
.
release
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to release the CaptureSession instance ${err.message}
'
);
console
.
error
(
`Failed to release the CaptureSession instance
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate that the CaptureSession instance is released successfully.
'
);
...
...
@@ -1833,14 +1820,14 @@ captureSession.release((err) => {
release(): Promise<void
\>
释放
CaptureSession实例
,通过Promise获取结果。
释放
会话资源
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
...
...
@@ -1851,433 +1838,2124 @@ captureSession.release().then(() => {
})
```
###
on('error')
###
hasFlash
on(type: 'error', callback: ErrorCallback<CaptureSessionError
\>
): void
hasFlash(callback: AsyncCallback<boolean
\>
): void
监听拍照会话的错误事件
,通过注册回调函数获取结果。
检测是否有闪光灯
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| :------- | :---------------------------------------------------------- | :--- | :-------------------------------------------- |
| type | string | 是 | 监听事件,固定为'error',即拍照会话错误事件。 |
| callback | ErrorCallback<
[
CaptureSessionError
](
#capturesessionerror
)
\>
| 是 | 回调函数,用于获取错误信息。 |
| -------- | ----------------------- | ---- | -------------------------------- |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,返回true表示设备支持闪光灯。 |
**示例:**
```
js
captureSession
.
on
(
'
error
'
,
(
captureSessionError
)
=>
{
console
.
log
(
'
Capture session error code:
'
+
captureSessionError
.
code
);
cameraInput
.
hasFlash
((
err
,
status
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to check whether the device has flash light.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with flash light support status:
${
status
}
`
);
})
```
##
CaptureSessionErrorCode
##
# hasFlash
枚举,拍照会话的错误码。
hasFlash(): Promise<boolean
\>
**系统能力:**
SystemCapability.Multimedia.Camera.Core
检测是否有闪光灯,通过Promise获取结果。
| 名称 | 值 | 说明 |
| ------------- | ---- | ---------- |
| ERROR_UNKNOWN | -1 | 未知错误。 |
**系统能力:**
SystemCapability.Multimedia.Camera.Core
## CaptureSessionError
**返回值:**
拍照会话错误对象。
| 类型 | 说明 |
| ----------------- | ----------------------------------------------- |
| Promise<boolean
\>
| 使用Promise的方式获取结果,返回true表示设备支持闪光灯。 |
**
系统能力:**
SystemCapability.Multimedia.Camera.Core
**
示例:**
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------------- | -------------------------- |
| code |
[
CaptureSessionError
](
#capturesessionerror
)
| CaptureSession中的错误码。 |
```
js
cameraInput
.
hasFlash
().
then
((
status
)
=>
{
console
.
log
(
`Promise returned with the flash light support status:
${
status
}
`
);
})
```
##
camera.createPreviewOutput
##
# isFlashModeSupported
createPreviewOutput(surfaceId: string, callback: AsyncCallback<PreviewOutput
\>
): void
isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean
\>
): void
获取PreviewOutput实例
,通过注册回调函数获取结果。
检测闪光灯模式是否支持
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | -----------------------
------------------------ | ---- | ----
--------------------------------- |
|
surfaceId | string | 是 | 从XComponent组件获取的Surface ID。
|
| callback | AsyncCallback<
[
PreviewOutput
](
#previewoutput
)
\>
| 是 | 回调函数,用于获取PreviewOutput实例
。 |
| --------- | -----------------------
| ---- |
--------------------------------- |
|
flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式。
|
| callback | AsyncCallback<
boolean
\>
| 是 | 回调函数,返回true表示支持该闪光灯模式
。 |
**示例:**
```
js
camera
.
createPreviewOutput
((
"
surfaceId
"
),
(
err
,
previewOutput
)
=>
{
camera
Input
.
isFlashModeSupported
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
,
(
err
,
status
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to create the PreviewOutput instance. ${err.message}
'
);
console
.
error
(
`Failed to check whether the flash mode is supported.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with previewOutput instance
'
);
})
;
console
.
log
(
`Callback returned with the flash mode support status:
${
status
}
`
);
})
```
##
camera.createPreviewOutput
##
# isFlashModeSupported
createPreviewOutput(surfaceId: string): Promise
\<
PreviewOutput
>
isFlashModeSupported(flashMode: FlashMode): Promise<boolean
\
>
获取PreviewOutput实例
,通过Promise获取结果。
检测闪光灯模式是否支持
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------
| ---- | ---------------------
------------- |
|
surfaceId | string | 是 | 从XComponent组件获取的Surface ID
。 |
| --------- | ------
----------------- | ---- |
------------- |
|
flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式
。 |
**返回值:**
| 类型 | 说明 |
| -----------------
------------------------ |
--------------------------- |
| Promise<
[
PreviewOutput
](
#previewoutput
)
\>
| 使用Promise的方式获取结果
。 |
| -----------------
| -------------------------
--------------------------- |
| Promise<
boolean
\>
| 使用Promise的方式获取结果,返回true表示设备支持该闪光灯模式
。 |
**示例:**
```
js
camera
.
createPreviewOutput
(
"
surfaceId
"
).
then
((
previewOutput
)
=>
{
console
.
log
(
'
Promise returned with the PreviewOutput instance
'
);
camera
Input
.
isFlashModeSupported
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
).
then
((
status
)
=>
{
console
.
log
(
`Promise returned with flash mode support status.
${
status
}
`
);
})
```
##
PreviewOutput
##
# setFlashMode
预览输出类。
setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void
\>
): void
### release
设置闪光灯模式,通过注册回调函数获取结果。
release(callback: AsyncCallback<void
\>
): void
进行设置之前,需要先检查:
释放PreviewOutput实例,通过注册回调函数获取结果。
1.
设备是否支持闪光灯,可使用方法
[
hasFlash
](
#hasflash
)
。
2.
设备是否支持指定的闪光灯模式,可使用方法
[
isFlashModeSupported
](
#isflashmodesupported
)
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------ |
| --------- | ----------------------- | ---- | --------------------- |
| flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
previewOutput
.
release
(
(
err
)
=>
{
cameraInput
.
setFlashMode
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to release the PreviewOutput instance ${err.message}
'
);
console
.
error
(
`Failed to set the flash mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback
invoked to indicate that the PreviewOutput instance is released successfully
.
'
);
})
;
console
.
log
(
'
Callback
returned with the successful execution of setFlashMode
.
'
);
})
```
###
releas
e
###
setFlashMod
e
release(
): Promise<void
\>
setFlashMode(flashMode: FlashMode
): Promise<void
\>
释放PreviewOutput实例,通过Promise获取结果。
设置闪光灯模式,通过Promise获取结果。
进行设置之前,需要先检查:
1.
设备是否支持闪光灯,可使用方法
[
hasFlash
](
#hasflash
)
。
2.
设备是否支持指定的闪光灯模式,可使用方法
[
isFlashModeSupported
](
#isflashmodesupported
)
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------- | ---- | ------------- |
| flashMode |
[
FlashMode
](
#flashmode
)
| 是 | 指定闪光灯模式。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------
---
|
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
previewOutput
.
release
(
).
then
(()
=>
{
console
.
log
(
'
Promise returned
to indicate that the PreviewOutput instance is released successfully
.
'
);
cameraInput
.
setFlashMode
(
camera
.
FlashMode
.
FLASH_MODE_AUTO
).
then
(()
=>
{
console
.
log
(
'
Promise returned
with the successful execution of setFlashMode
.
'
);
})
```
###
on('frameStart')
###
getFlashMode
on(type: 'frameStart', callback: AsyncCallback<void
\>
): void
getFlashMode(callback: AsyncCallback<FlashMode
\>
): void
监听预览帧启动
,通过注册回调函数获取结果。
获取当前设备的闪光灯模式
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| :------- | :------------------- | :--- | :------------------------------------------- |
| type | string | 是 | 监听事件,固定为'frameStart',即帧启动事件。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
| -------- | --------------------------------------- | ---- | --------------------------------- |
| callback | AsyncCallback<
[
FlashMode
](
#flashmode
)
\>
| 是 | 回调函数,用于获取当前设备的闪光灯模式。 |
**示例:**
```
js
previewOutput
.
on
(
'
frameStart
'
,
()
=>
{
console
.
log
(
'
Preview frame started
'
);
cameraInput
.
getFlashMode
((
err
,
flashMode
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the flash mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with current flash mode:
${
flashMode
}
`
);
})
```
###
on('frameEnd')
###
getFlashMode
on(type: 'frameEnd', callback: AsyncCallback<void
\>
): void
getFlashMode(): Promise<FlashMode
\>
监听预览帧结束,通过注册回调函数获取结果。
获取当前设备的闪光灯模式,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| --------------------------------- | --------------------------------- |
| Promise<
[
FlashMode
](
#flashmode
)
\>
| 使用Promise的方式获取当前的闪光灯模式。 |
**示例:**
```
js
cameraInput
.
getFlashMode
().
then
((
flashMode
)
=>
{
console
.
log
(
`Promise returned with current flash mode :
${
flashMode
}
`
);
})
```
### isExposureModeSupported
isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback<boolean
\>
): void;
检测曝光模式是否支持,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :------------------- | :--- | :------------
----------------------------- |
|
type | string | 是 | 监听事件,固定为'frameEnd',即帧结束事件。
|
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。
|
|
-------- | -------------------------------| ---- |
----------------------------- |
|
aeMode |
[
ExposureMode
](
#exposuremode
)
| 是 | 曝光模式。
|
| callback | AsyncCallback<
boolean
\>
| 是 | 回调函数,用于获取是否支持曝光模式。
|
**示例:**
```
js
previewOutput
.
on
(
'
frameEnd
'
,
()
=>
{
console
.
log
(
'
Preview frame ended
'
);
cameraInput
.
isExposureModeSupported
(
camera
.
ExposureMode
.
EXPOSURE_MODE_LOCKEN
,(
err
)
=>
{
if
(
err
)
{
console
.
log
(
`Failed to check exposure mode supported
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of isExposureModeSupported
'
);
})
```
###
on('error')
###
isExposureModeSupported
on(type: 'error', callback: ErrorCallback<PreviewOutputError
\>
): void
isExposureModeSupported(aeMode: ExposureMode): Promise<boolean
\>
监听预览输出的错误事件,通过注册回调函数
获取结果。
检测曝光模式是否支持,通过Promise
获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| :------- | :----------------------------------------------------------- | :--- | :-------------------------------------------- |
| type | string | 是 | 监听事件,固定为'error',即预览输出错误事件。 |
| callback | ErrorCallback<
[
PreviewOutputErrorCode
](
#previewoutputerrorcode
)
\>
| 是 | 回调函数,用于获取错误信息。 |
| -------- | -------------------------------| ---- | ----------------------------- |
| aeMode |
[
ExposureMode
](
#exposuremode
)
| 是 | 曝光模式。 |
**返回值:**
| 名称 | 说明 |
| ----------------- |--------------------------------- |
| Promise<boolean
\>
| 使用Promise的方式获取支持的曝光模式。 |
**示例:**
```
js
previewOutput
.
on
(
'
error
'
,
(
previewOutputError
)
=>
{
console
.
log
(
'
Preview output error code:
'
+
previewOutputError
.
code
);
cameraInput
.
isExposureModeSupported
(
camera
.
ExposureMode
.
EXPOSURE_MODE_LOCKED
).
then
((
isSupported
)
=>
{
console
.
log
(
`Promise returned with exposure mode supported :
${
isSupported
}
`
);
})
```
##
PreviewOutputErrorC
ode
##
# getExposureM
ode
枚举,预览输出的错误码。
getExposureMode(callback: AsyncCallback<ExposureMode
\>
): void
获取当前曝光模式,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ------------- | ---- | ---------- |
| ERROR_UNKNOWN | -1 | 未知错误。 |
**参数:**
## PreviewOutputError
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------------------| ---- | ---------------------------------------- |
| callback | AsyncCallback<
[
ExposureMode
](
#exposuremode
)
\>
| 是 | 回调函数,用于获取当前曝光模式。 |
**示例:**
```
js
cameraInput
.
getExposureMode
((
err
,
exposureMode
)
=>
{
if
(
err
)
{
console
.
log
(
`Failed to get the exposure mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with current exposure mode:
${
exposureMode
}
`
);
})
```
预览输出错误对象。
### getExposureMode
getExposureMode(): Promise<ExposureMode
\>
获取当前曝光模式,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------------------- | ---------------------- |
| code |
[
PreviewOutputErrorCode
](
#previewoutputerrorcode
)
| PreviewOutput中的错误码。 |
**返回值:**
| 名称 | 说明 |
| --------------------------------------- |------------------------------- |
| Promise<
[
ExposureMode
](
#exposuremode
)
\>
| 使用Promise的方式获取当前曝光模式。 |
**示例:**
```
js
cameraInput
.
getExposureMode
().
then
((
exposureMode
)
=>
{
console
.
log
(
`Promise returned with current exposure mode :
${
exposureMode
}
`
);
})
```
##
camera.createPhotoOutput
##
# setExposureMode
createPhotoOutput(surfaceId: string, callback: AsyncCallback<PhotoOutput
\>
): void
setExposureMode(aeMode: ExposureMode, callback: AsyncCallback<void
\>
): void
获取PhotoOutput实例
,通过注册回调函数获取结果。
设置曝光模式
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------
- | ------------------------------------------- | ---- | ------------
----------------------- |
|
surfaceId | string | 是 | 从
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
获取的Surface ID。
|
| callback
| AsyncCallback<
[
PhotoOutput
](
#photooutput
)
\>
| 是 | 回调函数,用于获取PhotoOutput实例
。 |
| --------
| -------------------------------| ---- |
----------------------- |
|
aeMode |
[
ExposureMode
](
#exposuremode
)
| 是 | 曝光模式。
|
| callback
| AsyncCallback<void
\>
| 是 | 回调函数,用于获取设置结果
。 |
**示例:**
```
js
camera
.
createPhotoOutput
((
"
surfaceId
"
),
(
err
,
photoOutput
)
=>
{
camera
Input
.
setExposureMode
(
camera
.
ExposureMode
.
EXPOSURE_MODE_LOCKEN
,(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to create the PhotoOutput instance. ${err.message}
'
);
return
;
console
.
log
(
`Failed to set the exposure mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the PhotoOutput instance.
'
);
});
console
.
log
(
'
Callback returned with the successful execution of setExposureMode
'
);
})
```
### setExposureMode
setExposureMode(aeMode: ExposureMode): Promise<void
\>
设置曝光模式,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 名称 | 说明 |
| ----------------- |---------------------------- |
| Promise<void
\>
| 使用Promise的方式获取设置结果。 |
**示例:**
```
js
cameraInput
.
setExposureMode
(
camera
.
ExposureMode
.
EXPOSURE_MODE_LOCKED
).
then
(()
=>
{
console
.
log
(
'
Promise returned with the successful execution of setExposureMode.
'
);
})
```
##
camera.createPhotoOutpu
t
##
# getMeteringPoin
t
createPhotoOutput(surfaceId: string): Promise<PhotoOutput
\>
getMeteringPoint(callback: AsyncCallback<Point
\>
): void
获取PhotoOutput实例,通过Promise获取结果。
查询曝光区域中心点,通过注册回调函数获取结果。(该接口目前为预留)
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | --------------------------------- |
| surfaceId | string | 是 | 从
[
ImageReceiver
](
js-apis-image.md#imagereceiver9
)
获取的Surface ID。 |
| -------- | -------------------------------| ---- | ------------------------ |
| callback | AsyncCallback<
[
Point
](
#point
)
\>
| 是 | 回调函数,用于获取当前曝光点。 |
**示例:**
```
js
cameraInput
.
getMeteringPoint
((
err
,
exposurePoint
)
=>
{
if
(
err
)
{
console
.
log
(
`Failed to get the current exposure point
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with current exposure point:
${
exposurePoint
}
`
);
})
```
### getMeteringPoint
getMeteringPoint(): Promise<Point
\>
查询曝光区域中心点,通过Promise获取结果。(该接口目前为预留)
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
|
类型 | 说明
|
| -------------------------
------------ | ---------
----------------------------- |
| Promise<
[
P
hotoOutput
](
#photooutput
)
\>
| 使用Promise的方式获取PhotoOutput实例
。 |
|
名称 | 说明
|
| -------------------------
|
----------------------------- |
| Promise<
[
P
oint
](
#point
)
\>
| 使用Promise的方式获取当前曝光点
。 |
**示例:**
```
js
camera
.
createPhotoOutput
(
"
surfaceId
"
).
then
((
photoOutpu
t
)
=>
{
console
.
log
(
'
Promise returned with PhotoOutput instance
'
);
camera
Input
.
getMeteringPoint
().
then
((
exposurePoin
t
)
=>
{
console
.
log
(
`Promise returned with current exposure point :
${
exposurePoint
}
`
);
})
```
## ImageRotation
枚举,图片旋转角度。
### setMeteringPoint
setMeteringPoint(point: Point, callback: AsyncCallback<point
\>
): void
设置曝光区域中心点,通过注册回调函数获取结果。(该接口目前为预留)
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ------------ | ---- | --------------- |
| ROTATION_0 | 0 | 图片旋转0度。 |
| ROTATION_90 | 90 | 图片旋转90度。 |
| ROTATION_180 | 180 | 图片旋转180度。 |
| ROTATION_270 | 270 | 图片旋转270度。 |
**参数:**
## QualityLevel
| 名称 | 类型 | 必填 | 说明 |
| ------------- | -------------------------------| ---- | ------------------- |
| exposurePoint |
[
Point
](
#point
)
| 是 | 曝光点。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
枚举,图片质量。
**示例:**
```
js
const
Point1
=
{
x
:
1
,
y
:
1
};
cameraInput
.
setMeteringPoint
(
Point1
,(
err
)
=>
{
if
(
err
)
{
console
.
log
(
`Failed to set the exposure point
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of setMeteringPoint
'
);
})
```
### setMeteringPoint
setMeteringPoint(point: Point): Promise<void
\>
设置曝光区域中心点,通过Promise获取结果。(该接口目前为预留)
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------------- | -------------------------------| ---- | ------------------- |
| exposurePoint |
[
Point
](
#point
)
| 是 | 曝光点。 |
**返回值:**
| 名称 | 说明 |
| ----------------- |------------------------ |
| Promise<void
\>
| 使用Promise的方式返回结果。 |
**示例:**
```
js
const
Point2
=
{
x
:
2
,
y
:
2
};
cameraInput
.
setMeteringPoint
(
Point2
).
then
(()
=>
{
console
.
log
(
'
Promise returned with the successful execution of setMeteringPoint
'
);
})
```
### getExposureBiasRange
getExposureBiasRange(callback: AsyncCallback<Array<number
\>\>
): void
查询曝光补偿范围,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------------------| ---- | ----------------------------- |
| callback | AsyncCallback<Array<number
\>\>
| 是 | 回调函数,用于获取补偿范围的数组。 |
**示例:**
```
js
cameraInput
.
getExposureBiasRange
((
err
,
biasRangeArray
)
=>
{
if
(
err
)
{
console
.
log
(
`Failed to get the array of compenstation range
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the array of compenstation range:
'
+
JSON
.
stringify
(
biasRangeArray
));
})
```
### getExposureBiasRange
getExposureBiasRange(): Promise<Array<number
\>\>
查询曝光补偿范围,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 名称 | 说明 |
| ----------------- |-------------------------------------- |
| Promise<Array<number
\>\>
| 使用Promise的方式获取曝光补偿范围。 |
**示例:**
```
js
cameraInput
.
isExposureModeSupported
(
camera
.
ExposureMode
.
EXPOSURE_MODE_LOCKED
).
then
((
isSupported
)
=>
{
console
.
log
(
`Promise returned with exposure mode supported :
${
isSupported
}
`
);
})
```
### setExposureBias
setExposureBias(exposureBias: number, callback: AsyncCallback<void
\>
): void
设置曝光补偿,通过注册回调函数获取结果。
进行设置之前,建议先通过方法
[
getExposureBiasRange
](
#getexposurebiasrange
)
查询支持的范围。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------------------| ---- | ------------------- |
| exposureBias | number | 是 | 曝光补偿。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
cameraInput
.
setExposureBias
(
-
4
,(
err
)
=>
{
if
(
err
)
{
console
.
log
(
`Failed to set the exposure bias
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of setExposureBias
'
);
})
```
### setExposureBias
setExposureBias(exposureBias: number): Promise<void
\>
设置曝光补偿,通过Promise获取结果。
进行设置之前,建议先通过方法
[
getExposureBiasRange
](
#getexposurebiasrange
)
查询支持的范围。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------------- | --------- | ---- | --------- |
| exposureBias | number | 是 | 曝光补偿。 |
**返回值:**
| 名称 | 说明 |
| ----------------- |------------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
cameraInput
.
setExposureBias
(
-
4
).
then
(()
=>
{
console
.
log
(
'
Promise returned with the successful execution of setExposureBias.
'
);
})
```
### getExposureValue
getExposureValue(callback: AsyncCallback<number
\>
): void
查询当前曝光值,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------| ---- | --------------------- |
| callback | AsyncCallback<number
\>
| 是 | 回调函数,用于获取曝光值。 |
**示例:**
```
js
cameraInput
.
getExposureValue
((
err
,
exposureValue
)
=>
{
if
(
err
)
{
console
.
log
(
`Failed to get the exposure value
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with the exposure value:
${
exposureValue
}
`
);
})
```
### getExposureValue
getExposureValue(): Promise<number
\>
查询当前曝光值,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 名称 | 说明 |
| ----------------- |-------------------------- |
| Promise<number
\>
| 使用Promise的方式获取曝光值。 |
**示例:**
```
js
cameraInput
.
getExposureValue
().
then
((
exposureValue
)
=>
{
console
.
log
(
`Promise returned with exposure value:
${
exposureValude
}
`
);
})
```
### isFocusModeSupported
isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean
\>
): void
检测对焦模式是否支持,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------- |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,返回true表示支持该焦距模式。 |
**示例:**
```
js
cameraInput
.
isFocusModeSupported
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
,
(
err
,
status
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to check whether the focus mode is supported.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with the focus mode support status:
${
status
}
`
);
})
```
### isFocusModeSupported
isFocusModeSupported(afMode: FocusMode): Promise<boolean
\>
检测对焦模式是否支持,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------- | ---- | ------------- |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
**返回值:**
| 类型 | 说明 |
| ----------------- | --------------------------------------------------- |
| Promise<boolean
\>
| 使用Promise的方式获取结果,返回true表示设备支持该焦距模式。 |
**示例:**
```
js
cameraInput
.
isFocusModeSupported
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
).
then
((
status
)
=>
{
console
.
log
(
`Promise returned with focus mode support status
${
status
}
.`
);
})
```
### setFocusMode
setFocusMode(afMode: FocusMode, callback: AsyncCallback<void
\>
): void
设置对焦模式,通过注册回调函数获取结果。
进行设置之前,需要先检查设备是否支持指定的焦距模式,可使用方法
[
isFocusModeSupported
](
#isfocusmodesupported
)
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------- |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
cameraInput
.
setFocusMode
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to set the focus mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of setFocusMode.
'
);
})
```
### setFocusMode
setFocusMode(afMode: FocusMode): Promise<void
\>
设置对焦模式,通过Promise获取结果。
进行设置之前,需要先检查设备是否支持指定的焦距模式,可使用方法
[
isFocusModeSupported
](
#isfocusmodesupported
)
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------- | ---- | ------------- |
| afMode |
[
FocusMode
](
#focusmode
)
| 是 | 指定的焦距模式。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
cameraInput
.
setFocusMode
(
camera
.
FocusMode
.
FOCUS_MODE_AUTO
).
then
(()
=>
{
console
.
log
(
'
Promise returned with the successful execution of setFocusMode.
'
);
})
```
### getFocusMode
getFocusMode(callback: AsyncCallback<FocusMode
\>
): void
获取当前的对焦模式,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ------------------------------- |
| callback | AsyncCallback<
[
FocusMode
](
#focusmode
)
\>
| 是 | 回调函数,用于获取当前设备的焦距模式。 |
**示例:**
```
js
cameraInput
.
getFocusMode
((
err
,
afMode
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the focus mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with current focus mode:
${
afMode
}
`
);
})
```
### getFocusMode
getFocusMode(): Promise<FocusMode
\>
获取当前的对焦模式,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ------------------- | -------------------------------- |
| Promise<FocusMode
\>
| 使用Promise的方式获取当前的焦距模式。 |
**示例:**
```
js
cameraInput
.
getFocusMode
().
then
((
afMode
)
=>
{
console
.
log
(
`Promise returned with current focus mode :
${
afMode
}
`
);
})
```
### setFocusPoint
setFocusPoint(point: Point, callback: AsyncCallback<void
\>
): void
设置焦点,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------- |
| point |
[
Point
](
#point
)
| 是 | 焦点。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
const
Point1
=
{
x
:
1
,
y
:
1
};
cameraInput
.
setFocusPoint
(
Point1
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to set the focus point
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of setFocusPoint.
'
);
})
```
### setFocusPoint
setFocusPoint(point: Point): Promise<void
\>
设置焦点,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------- |
| point |
[
Point
](
#point
)
| 是 | 焦点。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
const
Point2
=
{
x
:
2
,
y
:
2
};
cameraInput
.
setFocusPoint
(
Point2
).
then
(()
=>
{
console
.
log
(
'
Promise returned with the successful execution of setFocusPoint.
'
);
})
```
### getFocusPoint
getFocusPoint(callback: AsyncCallback<Point
\>
): void
查询焦点,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------- | ---- | ----------------------- |
| callback | AsyncCallback<
[
Point
](
#point
)
\>
| 是 | 回调函数,用于获取当前焦点。 |
**示例:**
```
js
cameraInput
.
getFocusPoint
((
err
,
point
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the current focus point
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the current focus point:
'
+
JSON
.
stringify
(
point
));
})
```
### getFocusPoint
getFocusPoint(): Promise<Point
\>
查询焦点,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| --------------- | --------------------------- |
| Promise<Point
\>
| 使用Promise的方式获取当前焦点。 |
**示例:**
```
js
cameraInput
.
getFocusPoint
().
then
((
point
)
=>
{
console
.
log
(
'
Promise returned with the current focus point:
'
+
JSON
.
stringify
(
point
));
})
```
### getFocalLength
getFocalLength(callback: AsyncCallback<number
\>
): void
查询焦距值,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----------------------- |
| callback | AsyncCallback<number
\>
| 是 | 回调函数,用于获取当前焦距。 |
**示例:**
```
js
cameraInput
.
getFocalLength
((
err
,
focalLength
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the current focal length
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with the current focal length:
${
focalLength
}
`
);
})
```
### getFocalLength
getFocalLength(): Promise<number
\>
查询焦距值,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ---------------- | ----------------------- |
| Promise<number
\>
| 使用Promise的方式获取焦距。 |
**示例:**
```
js
cameraInput
.
getFocalLength
().
then
((
focalLength
)
=>
{
console
.
log
(
`Promise returned with the current focal length:
${
focalLength
}
`
);
})
```
### getZoomRatioRange
getZoomRatioRange
\(
callback: AsyncCallback<Array<number
\>\>\)
: void
获取支持的变焦范围,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------ | ---- | ------------------- |
| callback | AsyncCallback<Array<number
\>\>
| 是 | 回调函数,用于获取可变焦距比范围,返回的数组包括其最小值和最大值。 |
**示例:**
```
js
cameraInput
.
getZoomRatioRange
((
err
,
zoomRatioRange
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the zoom ratio range.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with zoom ratio range:
${
zoomRatioRange
.
length
}
`
);
})
```
### getZoomRatioRange
getZoomRatioRange
\(\)
: Promise<Array<number
\>\>
获取支持的变焦范围,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ------------------------ | --------------------------- |
| Promise<Array<number
\>\>
| 使用Promise的方式获取当前的可变焦距比范围,返回的数组包括其最小值和最大值。 |
**示例:**
```
js
cameraInput
.
getZoomRatioRange
().
then
((
zoomRatioRange
)
=>
{
console
.
log
(
`Promise returned with zoom ratio range:
${
zoomRatioRange
.
length
}
`
);
})
```
### setZoomRatio
setZoomRatio(zoomRatio: number, callback: AsyncCallback<void
\>
): void
设置变焦比,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | -------------------- | ---- | ------------------- |
| zoomRatio | number | 是 | 可变焦距比。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
cameraInput
.
setZoomRatio
(
1
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to set the zoom ratio value
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of setZoomRatio.
'
);
})
```
### setZoomRatio
setZoomRatio(zoomRatio: number): Promise<void
\>
设置变焦比,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | --------- |
| zoomRatio | number | 是 | 可变焦距比。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
cameraInput
.
setZoomRatio
(
1
).
then
(()
=>
{
console
.
log
(
'
Promise returned with the successful execution of setZoomRatio.
'
);
})
```
### getZoomRatio
getZoomRatio(callback: AsyncCallback<number
\>
): void
获取当前的变焦比,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------- |
| callback | AsyncCallback<number
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
cameraInput
.
getZoomRatio
((
err
,
zoomRatio
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the zoom ratio
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with current zoom ratio:
${
zoomRatio
}
`
);
})
```
### getZoomRatio
getZoomRatio(): Promise<number
\>
获取当前的变焦比,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ---------------- | ----------------------- |
| Promise<number
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
cameraInput
.
getZoomRatio
().
then
((
zoomRatio
)
=>
{
console
.
log
(
`Promise returned with current zoom ratio :
${
zoomRatio
}
`
);
})
```
### isVideoStabilizationModeSupported
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback<boolean
\>
): void
查询是否支持指定的视频防抖模式,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | ------------------------------ |
| vsMode |
[
VideoStabilizationMode
](
#videostabilizationmode
)
| 是 | 视频防抖模式。 |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,返回视频防抖模式是否支持。 |
**示例:**
```
js
captureSession
.
isVideoStabilizationModeSupported
(
camera
.
VideoStabilizationMode
.
OFF
,
(
err
,
isSupported
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to check whether video stabilization mode supported.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
`Callback returned with the successful execution of isVideoStabilizationModeSupported:
${
status
}
`
);
})
```
### isVideoStabilizationModeSupported
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise<boolean
\>
查询是否支持指定的视频防抖模式,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ----------------- | --------------------------------------------- |
| Promise<boolean
\>
| 使用Promise的方式获取结果,返回视频防抖模式是否支持。 |
**示例:**
```
js
captureSession
.
isVideoStabilizationModeSupported
(
camera
.
VideoStabilizationMode
.
OFF
).
then
((
isSupported
)
=>
{
console
.
log
(
`Promise returned with video stabilization mode supported:
${
isSupported
}
`
);
})
```
### getActiveVideoStabilizationMode
getActiveVideoStabilizationMode(callback: AsyncCallback<VideoStabilizationMode
\>
): void
查询当前正在使用的视频防抖模式,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------- | ---- | ------------------------------ |
| callback | AsyncCallback<VideoStabilizationMode
\>
| 是 | 回调函数,返回视频防抖是否正在使用。 |
**示例:**
```
js
captureSession
.
getActiveVideoStabilizationMode
((
err
,
vsMode
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get active video stabilization mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of getActiveVideoStabilizationMode.
'
);
})
```
### getActiveVideoStabilizationMode
getActiveVideoStabilizationMode(): Promise<VideoStabilizationMode
\>
查询当前正在使用的视频防抖模式,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------------------------- | ------------------------------------------------- |
| Promise<VideoStabilizationMode
\>
| 使用Promise的方式获取结果,返回视频防抖当前是否正在使用。 |
**示例:**
```
js
captureSession
.
getActiveVideoStabilizationMode
().
then
((
vsMode
)
=>
{
console
.
log
(
`Promise returned with the current video stabilization mode:
${
vsMode
}
`
);
})
```
### setVideoStabilizationMode
setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback<void
\>
): void
设置视频防抖模式,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | --------------------- |
| mode |
[
VideoStabilizationMode
](
#videostabilizationmode
)
| 是 | 需要设置的视频防抖模式。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数。 |
**示例:**
```
js
captureSession
.
setVideoStabilizationMode
(
camera
.
VideoStabilizationMode
.
OFF
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to set the video stabilization mode
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of setVideoStabilizationMode.
'
);
})
```
### setVideoStabilizationMode
setVideoStabilizationMode(mode: VideoStabilizationMode): Promise<void
\>
设置视频防抖,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | --------------------- |
| mode |
[
VideoStabilizationMode
](
#videostabilizationmode
)
| 是 | 需要设置的视频防抖模式。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------------------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果,返回设置的视频防抖模式的结果。 |
**示例:**
```
js
captureSession
.
setVideoStabilizationMode
(
camera
.
VideoStabilizationMode
.
OFF
).
then
(()
=>
{
console
.
log
(
'
Promise returned with the successful execution of setVideoStabilizationMode.
'
);
})
```
### on('focusStateChange')
on(type: 'focusStateChange', callback: AsyncCallback<FocusState
\>
): void
监听焦距的状态变化,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------- | ---- | ------------------------ |
| type | string | 是 | 监听事件,固定为'focusStateChange',即焦距状态变化事件。 |
| callback | AsyncCallback<
[
FocusState
](
#focusstate
)
\>
| 是 | 回调函数,用于获取焦距状态。 |
**示例:**
```
js
cameraInput
.
on
(
'
focusStateChange
'
,
(
focusState
)
=>
{
console
.
log
(
`Focus state :
${
focusState
}
`
);
})
```
### on('exposureStateChange')
on(type: 'exposureStateChange', callback: AsyncCallback<ExposureState
\>
): void
监听曝光的状态变化,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------- | ---- | ---------------------------------------------- |
| type | string | 是 | 监听事件,固定为'exposureStateChange',即曝光状态变化事件。|
| callback | AsyncCallback<
[
ExposureState
](
#exposurestate
)
\>
| 是 | 回调函数,用于获取曝光状态。 |
**示例:**
```
js
cameraInput
.
on
(
'
exposureStateChange
'
,
(
exposureState
)
=>
{
console
.
log
(
`Exposuer state :
${
exposureState
}
`
);
})
```
### on('error')
on(type: 'error', callback: ErrorCallback<CaptureSessionError
\>
): void
监听拍照会话的错误事件,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | ------------------------------ |
| type | string | 是 | 监听事件,固定为'error',即拍照会话错误事件。 |
| callback | ErrorCallback<
[
CaptureSessionError
](
#capturesessionerror
)
\>
| 是 | 回调函数,用于获取错误信息。 |
**示例:**
```
js
captureSession
.
on
(
'
error
'
,
(
captureSessionError
)
=>
{
console
.
log
(
`Capture session error code:
${
captureSessionError
.
code
}
`
);
})
```
## CaptureSessionErrorCode
枚举,会话错误类型。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ----------------------------- | ---- | -------- |
| ERROR_UNKNOWN | -1 | 未知错误。 |
| ERROR_INSUFFICIENT_RESOURCES | 0 | 资源不足。 |
| ERROR_TIMEOUT | 1 | 超时。 |
## CaptureSessionError
会话错误码。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------------- | -------------------------- |
| code |
[
CaptureSessionError
](
#capturesessionerror
)
| CaptureSession中的错误码。 |
## CameraOutput
会话中
[
CaptureSession
](
#capturesession
)
使用的输出信息,output的基类。
### release
release(callback: AsyncCallback<void
\>
): void
释放输出资源,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
previewOutput
.
release
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to release the PreviewOutput instance
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate that the PreviewOutput instance is released successfully.
'
);
});
```
### release
release(): Promise<void
\>
释放输出资源,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
previewOutput
.
release
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that the PreviewOutput instance is released successfully.
'
);
})
```
## PreviewOutput
预览输出类。继承
[
CameraOutput
](
#cameraoutput
)
### addDeferredSurface
addDeferredSurface(surfaceId: string, callback: AsyncCallback<void
\>
): void
在previewOutput生成之后添加surface,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------------------------------------------------------- |
| surfaceId| string | 是 | 从
[
XComponent
](
../arkui-ts/ts-basic-components-xcomponent.md
)
组件获取的SurfaceID。|
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
previewOutput
.
addDeferredSurface
(
'
surfaceId
'
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to add deferredSurface.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with deferredSurface added.
'
);
})
```
### addDeferredSurface
addDeferredSurface(surfaceId: string): Promise<void
\>
在previewOutput生成之后添加surface,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -----------| ---- | ------------------------------------------------------------------------------ |
| surfaceId| string | 是 | 从
[
XComponent
](
../arkui-ts/ts-basic-components-xcomponent.md
)
组件获取的SurfaceID。|
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
previewOutput
.
addDeferredSurface
(
'
surfaceId
'
).
then
(()
=>
{
console
.
log
(
'
Promise returned with deferredSurface added.
'
);
})
```
### start
start(callback: AsyncCallback<void
\>
): void
开始输出预览流,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
previewOutput
.
start
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to start the previewOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with previewOutput started.
'
);
})
```
### start
start(): Promise<void
\>
开始输出预览流,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
previewOutput
.
start
().
then
(()
=>
{
console
.
log
(
'
Promise returned with previewOutput started.
'
);
})
```
### stop
stop(callback: AsyncCallback<void
\>
): void
停止输出预览流,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
previewOutput
.
stop
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to stop the previewOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with previewOutput stopped.
'
);
})
```
### stop
stop(): Promise<void
\>
停止输出预览流,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
previewOutput
.
stop
().
then
(()
=>
{
console
.
log
(
'
Callback returned with previewOutput stopped.
'
);
})
```
### on('frameStart')
on(type: 'frameStart', callback: AsyncCallback<void
\>
): void
监听预览帧启动,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | --------------------------------------- |
| type | string | 是 | 监听事件,固定为'frameStart',即帧启动事件。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
previewOutput
.
on
(
'
frameStart
'
,
()
=>
{
console
.
log
(
'
Preview frame started
'
);
})
```
### on('frameEnd')
on(type: 'frameEnd', callback: AsyncCallback<void
\>
): void
监听预览帧结束,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------------------- |
| type | string | 是 | 监听事件,固定为'frameEnd',即帧结束事件。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
previewOutput
.
on
(
'
frameEnd
'
,
()
=>
{
console
.
log
(
'
Preview frame ended
'
);
})
```
### on('error')
on(type: 'error', callback: ErrorCallback<PreviewOutputError
\>
): void
监听预览输出的错误事件,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------------- | ---- | ------------------------ |
| type | string | 是 | 监听事件,固定为'error',即预览输出错误事件。|
| callback | ErrorCallback<
[
PreviewOutputErrorCode
](
#previewoutputerrorcode
)
\>
| 是 | 回调函数,用于获取错误信息。 |
**示例:**
```
js
previewOutput
.
on
(
'
error
'
,
(
previewOutputError
)
=>
{
console
.
log
(
`Preview output error code:
${
previewOutputError
.
code
}
`
);
})
```
## PreviewOutputErrorCode
枚举,预览输出错误类型。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ------------- | ---- | -------- |
| ERROR_UNKNOWN | -1 | 未知错误。 |
## PreviewOutputError
预览输出错误码。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------------------- | ---------------------- |
| code |
[
PreviewOutputErrorCode
](
#previewoutputerrorcode
)
| PreviewOutput中的错误码。 |
## ImageRotation
枚举,图片旋转角度。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| ------------ | ---- | ------------- |
| ROTATION_0 | 0 | 图片旋转0度。 |
| ROTATION_90 | 90 | 图片旋转90度。 |
| ROTATION_180 | 180 | 图片旋转180度。 |
| ROTATION_270 | 270 | 图片旋转270度。 |
## Location
图片地理位置信息。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 必填 |说明 |
| ------------ | ------ | --- |------------ |
| latitude | number | 是 |纬度(度)。 |
| longitude | number | 是 |经度(度)。 |
| altitude | number | 是 |海拔(米)。 |
## QualityLevel
枚举,图片质量。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| -------------------- | ---- | ------------ |
| QUALITY_LEVEL_HIGH | 0 | 图片质量高。 |
| QUALITY_LEVEL_MEDIUM | 1 | 图片质量中等。 |
| QUALITY_LEVEL_LOW | 2 | 图片质量差。 |
## PhotoCaptureSetting
拍摄照片的设置。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 必填 | 默认值 | 说明 |
| -------- | ------------------------------- | ---- | ----------------- | -----------------|
| quality |
[
QualityLevel
](
#qualitylevel
)
| 否 | QUALITY_LEVEL_HIGH| 图片质量。 |
| rotation |
[
ImageRotation
](
#imagerotation
)
| 否 | ROTATION_0 | 图片旋转角度。 |
| location |
[
Location
](
#location
)
| 否 | (0,0,0) | 图片地理位置信息。 |
## PhotoOutput
拍照会话中使用的输出信息。
### getDefaultCaptureSetting
getDefaultCaptureSetting(callback: AsyncCallback<PhotoCaptureSetting
\>
): void
获取默认拍照参数,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | -------------------- |
| callback | AsyncCallback<
[
PhotoCaptureSetting
](
#photocapturesetting
)
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
photoOutput
.
getDefaultCaptureSetting
((
err
,
photocapturesetting
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the defaultCaptureSetting.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with an array of defaultCaptureSetting.
'
);
})
```
### getDefaultCaptureSetting
getDefaultCaptureSetting(): Promise<PhotoCaptureSetting
\>
获取默认拍照参数,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------- | ----------------------- |
| Promise<
[
PhotoCaptureSetting
](
#photocapturesetting
)
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
photoOutput
.
getDefaultCaptureSetting
().
then
((
photocapturesetting
)
=>
{
console
.
log
(
'
Callback returned with an array of defaultCaptureSetting.
'
);
})
```
### capture
capture(callback: AsyncCallback<void
\>
): void
以默认设置触发一次拍照,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
photoOutput
.
capture
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to capture the photo
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the photo capture request success.
'
);
});
```
### capture
capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void
\>
): void
以指定参数触发一次拍照,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------- | ---- | -------------------- |
| setting |
[
PhotoCaptureSetting
](
#photocapturesetting
)
| 是 | 拍照设置。 |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
let
settings
:
PhotoCaptureSetting
=
{
quality
=
1
,
rotation
=
0
}
photoOutput
.
capture
(
settings
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to capture the photo
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the photo capture request success.
'
);
});
```
### capture
capture(setting?: PhotoCaptureSetting): Promise<void
\>
以指定参数触发一次拍照,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------- | ---- | -------- |
| setting |
[
PhotoCaptureSetting
](
#photocapturesetting
)
| 否 | 拍照设置。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
photoOutput
.
capture
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that photo capture request success.
'
);
})
```
### isMirrorSupported
isMirrorSupported(callback: AsyncCallback<boolean
\>
): void
查询是否支持镜像拍照,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | -------------------------- |
| callback | AsyncCallback<boolean
\>
| 是 | 回调函数,返回是否支持镜像拍照。 |
**示例:**
```
js
captureSession
.
isMirrorSupported
((
err
,
isSupported
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to check mirror is supported
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with the successful execution of isMirrorSupported.
'
);
})
```
### isMirrorSupported
isMirrorSupported(): Promise<boolean
\>
查询是否支持镜像拍照,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------- |
| Promise<boolean
\>
| 使用Promise的方式获取结果,返回是否支持自拍结果。 |
**示例:**
```
js
captureSession
.
isMirrorSupported
().
then
((
isSupported
)
=>
{
console
.
log
(
`Promise returned with mirror supported:
${
isSupported
}
`
);
})
```
### on('captureStart')
on(type: 'captureStart', callback: AsyncCallback<number
\>
): void
监听拍照开始,通过注册回调函数获取Capture ID。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------------------------------ |
| type | string | 是 | 监听事件,固定为'captureStart',即拍照启动事件。 |
| callback | AsyncCallback<number
\>
| 是 | 使用callback的方式获取Capture ID。 |
**示例:**
```
js
photoOutput
.
on
(
'
captureStart
'
,
(
err
,
captureId
)
=>
{
console
.
log
(
`photo capture stated, captureId :
${
captureId
}
`
);
})
```
### on('frameShutter')
on(type: 'frameShutter', callback: AsyncCallback<FrameShutterInfo
\>
): void
监听拍照帧输出捕获,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | --- | ------------------------------------ |
| type | string | 是 | 监听事件,固定为'frameShutter',即帧刷新事件。 |
| callback | AsyncCallback<
[
FrameShutterInfo
](
#frameshutterinfo
)
\>
| 是 | 回调函数,用于获取相关信息。 |
**示例:**
```
js
photoOutput
.
on
(
'
frameShutter
'
,
(
err
,
frameShutterInfo
)
=>
{
console
.
log
(
`photo capture end, captureId :
${
frameShutterInfo
.
captureId
}
`
);
console
.
log
(
`Timestamp for frame :
${
frameShutterInfo
.
timestamp
}
`
);
})
```
### on('captureEnd')
on(type: 'captureEnd', callback: AsyncCallback<CaptureEndInfo
\>
): void
监听拍照结束,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | ---------------------------------------- |
| type | string | 是 | 监听事件,固定为'captureEnd',即拍照停止事件。 |
| callback | AsyncCallback<
[
CaptureEndInfo
](
#captureendinfo
)
\>
| 是 | 回调函数,用于获取相关信息。 |
**示例:**
```
js
photoOutput
.
on
(
'
captureEnd
'
,
(
err
,
captureEndInfo
)
=>
{
console
.
log
(
`photo capture end, captureId :
${
captureEndInfo
.
captureId
}
`
);
console
.
log
(
`frameCount :
${
captureEndInfo
.
frameCount
}
`
);
})
```
### on('error')
on(type: 'error', callback: ErrorCallback<PhotoOutputError
\>
): void
监听拍照输出发生错误,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ----------------------------------- |
| type | string | 是 | 监听事件,固定为'error',即拍照错误事件。 |
| callback | ErrorCallback<
[
PhotoOutputError
](
#photooutputerror
)
\>
| 是 | 回调函数,用于获取错误信息。 |
**示例:**
```
js
photoOutput
.
on
(
'
error
'
,
(
err
,
photoOutputError
)
=>
{
console
.
log
(
`Photo output error code:
${
photoOutputError
.
code
}
`
);
})
```
## FrameShutterInfo
拍照帧输出信息。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ---------- |
| captureId | number | 是 | 拍照的ID。 |
| timestamp | number | 是 | 快门时间戳。 |
## CaptureEndInfo
拍照停止信息。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ---------|
| captureId | number | 是 | 拍照的ID。 |
| frameCount | number | 是 | 帧数。 |
## PhotoOutputErrorCode
枚举,拍照输出错误类型。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| --------------------
| ---- |
-------------- |
|
QUALITY_LEVEL_HIGH | 0 | 图片质量高。
|
|
QUALITY_LEVEL_MEDIUM | 1 | 图片质量中等
。 |
|
QUALITY_LEVEL_LOW | 2 | 图片质量差。
|
| --------------------
--------- | ---- | -
-------------- |
|
ERROR_UNKNOWN | -1 | 未知错误。
|
|
ERROR_DRIVER_ERROR | 0 | 驱动或者硬件错误
。 |
|
ERROR_INSUFFICIENT_RESOURCES | 1 | 资源不足。
|
| ERROR_TIMEOUT | 2 | 超时。 |
## Photo
CaptureSetting
## Photo
OutputError
拍
摄照片的设置
。
拍
照输出错误码
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------- | ---- | -------------- |
| quality |
[
QualityLevel
](
#qualitylevel
)
| 否 | 图片质量。 |
| rotation |
[
ImageRotation
](
#imagerotation
)
| 否 | 图片旋转角度。 |
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------- | ----------------------- |
| code |
[
PhotoOutputError
](
#photooutputerror
)
| PhotoOutput中的错误码。 |
##
Phot
oOutput
##
Vide
oOutput
照片输出类
。
录像会话中使用的输出信息
。
###
capture
###
start
capture
(callback: AsyncCallback<void
\>
): void
start
(callback: AsyncCallback<void
\>
): void
拍照
,通过注册回调函数获取结果。
启动录制
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | --------------------
----
|
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
photoOutput
.
capture
((
err
)
=>
{
videoOutput
.
start
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to capture the photo ${err.message}
'
);
console
.
error
(
`Failed to start the video output
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the
photo capture reques
t success.
'
);
console
.
log
(
'
Callback invoked to indicate the
video output star
t success.
'
);
});
```
###
capture
###
start
capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void
\>
): void
start(): Promise<void
\>
启动录制,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
videoOutput
.
start
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that start method execution success.
'
);
})
```
### stop
stop(callback: AsyncCallback<void
\>
): void
根据拍照设置拍照
,通过注册回调函数获取结果。
结束录制
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------- | ---- | ------------------------ |
| setting |
[
PhotoCaptureSetting
](
#photocapturesetting
)
| 是 | 拍照设置。 |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
let
settings
:
PhotoCaptureSetting
=
{
quality
=
1
,
rotation
=
0
}
photoOutput
.
capture
(
settings
,
(
err
)
=>
{
videoOutput
.
stop
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to capture the photo ${err.message}
'
);
console
.
error
(
`Failed to stop the video output
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate the
photo capture request
success.
'
);
console
.
log
(
'
Callback invoked to indicate the
video output stop
success.
'
);
});
```
###
capture
###
stop
capture(setting?: PhotoCaptureSetting
): Promise<void
\>
stop(
): Promise<void
\>
根据拍照设置拍照
,通过Promise获取结果。
结束录制
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------- | ---- | ---------- |
| setting |
[
PhotoCaptureSetting
](
#photocapturesetting
)
| 否 | 拍照设置。 |
**返回值:**
| 类型 | 说明 |
| -------------- | -----------------------
----
|
| -------------- | ----------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
photoOutput
.
capture
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that
photo capture request
success.
'
);
videoOutput
.
stop
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that
stop method execution
success.
'
);
})
```
###
releas
e
###
getFrameRateRang
e
release(callback: AsyncCallback<void
\>
): void
getFrameRateRange(callback: AsyncCallback
<Array
<
number
>
\>
): void
释放PhotoOutput实例
,通过注册回调函数获取结果。
获取帧率范围
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
...
...
@@ -2285,470 +3963,527 @@ release(callback: AsyncCallback<void\>): void
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。 |
| callback | AsyncCallback
<
Array
<
number
>
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
photoOutput
.
releas
e
((
err
)
=>
{
videoOutput
.
getFrameRateRang
e
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to release the PhotoOutput instance ${err.message}
'
);
console
.
error
(
`Failed to get the frameRateRange
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback invoked to indicate that the PhotoOutput instance is released successfully
.
'
);
console
.
log
(
'
getFrameRateRange success
.
'
);
});
```
###
releas
e
###
getFrameRateRang
e
release(): Promise<void
\>
getFrameRateRange(): Promise
<Array
<
number
>
\>
释放PhotoOutput实例
,通过Promise获取结果。
获取帧率范围
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
| -------------- | ----------------------- |
| Promise
<Array
<
number
>
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
photoOutput
.
releas
e
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that the PhotoOutput instance is released successfully
.
'
);
videoOutput
.
getFrameRateRang
e
().
then
(()
=>
{
console
.
log
(
'
getFrameRateRange success
.
'
);
})
```
###
on('captureStart')
###
setFrameRateRange
on(type: 'captureStart', callback: AsyncCallback<number
\>
): void
setFrameRateRange(minFrameRate: number, maxFrameRate: number, callback: AsyncCallback
<Array
<
number
>
\>
): void
监听拍照启动,通过注册回调函数获取Capture ID
。
获取帧率范围,通过注册回调函数获取结果
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| :------- | :--------------------- | :--- | :----------------------------------------------- |
| type | string | 是 | 监听事件,固定为'captureStart',即拍照启动事件。 |
| callback | AsyncCallback<number
\>
| 是 | 使用callback的方式获取Capture ID。 |
| ------------ | ----------------------------- | ---- | ------------------- |
| minFrameRate | number | 是 | 最小帧率。 |
| maxFrameRate | number | 是 | 最大帧率。 |
| callback | AsyncCallback
<Array
<
number
>
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
photoOutput
.
on
(
'
captureStart
'
,
(
err
,
captureId
)
=>
{
console
.
log
(
'
photo capture stated, captureId :
'
+
captureId
);
videoOutput
.
setFrameRateRange
(
minFrameRate
,
maxFrameRate
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to set the frameRateRange
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
setFrameRateRange success.
'
);
});
```
### setFrameRateRange
setFrameRateRange(minFrameRate: number, maxFrameRate: number): Promise
<Array
<
number
>
\>
获取帧率范围,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------------ | ----------------------------- | ---- | ------------------- |
| minFrameRate | number | 是 | 最小帧率。 |
| maxFrameRate | number | 是 | 最大帧率。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise
<Array
<
number
>
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
videoOutput
.
setFrameRateRange
(
minFrameRate
,
maxFrameRate
).
then
(()
=>
{
console
.
log
(
'
setFrameRateRange success.
'
);
})
```
### on('frameS
hutter
')
### on('frameS
tart
')
on(type: 'frameS
hutter', callback: AsyncCallback<FrameShutterInfo
\>
): void
on(type: 'frameS
tart', callback: AsyncCallback<void
\>
): void
监听
快门
,通过注册回调函数获取结果。
监听
录像开始
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :---------------------------------------------------- | :--- | :----
----------------------------------------- |
| type | string
| 是 | 监听事件,固定为'frameShutter',即帧刷新
事件。 |
| callback | AsyncCallback<
[
FrameShutterInfo
](
#frameshutterinfo
)
\>
| 是 | 回调函数,用于获取相关信息。
|
|
-------- | -------------------- | ---- |
----------------------------------------- |
| type | string
| 是 | 监听事件,固定为'frameStart',即视频帧开启
事件。 |
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。
|
**示例:**
```
js
photoOutput
.
on
(
'
frameShutter
'
,
(
err
,
frameShutterInfo
)
=>
{
console
.
log
(
'
photo capture end, captureId :
'
+
frameShutterInfo
.
captureId
);
console
.
log
(
'
Timestamp for frame :
'
+
frameShutterInfo
.
timestamp
);
videoOutput
.
on
(
'
frameStart
'
,
()
=>
{
console
.
log
(
'
Video frame started
'
);
})
```
### on('
captur
eEnd')
### on('
fram
eEnd')
on(type: '
captureEnd', callback: AsyncCallback<CaptureEndInfo
\>
): void
on(type: '
frameEnd', callback: AsyncCallback<void
\>
): void
监听
拍照停止
,通过注册回调函数获取结果。
监听
录像结束
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :------------------------------------------------ | :--- | :---
------------------------------------------ |
| type | string
| 是 | 监听事件,固定为'captureEnd',即拍照停止事件
。 |
| callback | AsyncCallback<
[
CaptureEndInfo
](
#captureendinfo
)
\>
| 是 | 回调函数,用于获取相关信息。
|
|
-------- | -------------------- | ---- |
------------------------------------------ |
| type | string
| 是 | 监听事件,固定为'frameEnd',即视频帧结束事件
。 |
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。
|
**示例:**
```
js
photoOutput
.
on
(
'
captureEnd
'
,
(
err
,
captureEndInfo
)
=>
{
console
.
log
(
'
photo capture end, captureId :
'
+
captureEndInfo
.
captureId
);
console
.
log
(
'
frameCount :
'
+
captureEndInfo
.
frameCount
);
videoOutput
.
on
(
'
frameEnd
'
,
()
=>
{
console
.
log
(
'
Video frame ended
'
);
})
```
### on('error')
on(type: 'error', callback: ErrorCallback<
Phot
oOutputError
\>
): void
on(type: 'error', callback: ErrorCallback<
Vide
oOutputError
\>
): void
监听
拍照的错误事件
,通过注册回调函数获取结果。
监听
录像输出发生错误
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :---------------------------------------------------- | :--- | :--
-------------------------------------- |
| type | string
| 是 | 监听事件,固定为'error',即拍照
错误事件。 |
| callback |
ErrorCallback<
[
PhotoOutputError
](
#photooutputerror
)
\>
| 是 | 回调函数,用于获取错误信息。
|
|
-------- | ------------------------------------------------ | ---- |
-------------------------------------- |
| type | string
| 是 | 监听事件,固定为'error',即视频输出
错误事件。 |
| callback |
Callback<
[
VideoOutputError
](
#videooutputerror
)
\>
| 是 | 回调函数,用于获取错误信息。
|
**示例:**
```
js
photoOutput
.
on
(
'
error
'
,
(
err
,
phot
oOutputError
)
=>
{
console
.
log
(
'
Photo output error code:
'
+
photoOutputError
.
code
);
videoOutput
.
on
(
'
error
'
,
(
Vide
oOutputError
)
=>
{
console
.
log
(
`Video output error code:
${
VideoOutputError
.
code
}
`
);
})
```
##
FrameShutterInfo
##
VideoOutputErrorCode
快门事件信息
。
枚举,录像输出错误类型
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称
| 类型 | 必填 | 说明
|
| ---------
| ------ | ---- | -----------------
------------ |
|
captureId | number | 是 | CaptureId,本次拍摄动作的ID。
|
|
timestamp | number | 是 | 时间戳。
|
| 名称
| 值 | 说明
|
| ---------
------------ | ---- |
------------ |
|
ERROR_UNKNOWN | -1 | 未知错误。
|
|
ERROR_DRIVER_ERROR | 0 | 驱动或者硬件错误。
|
##
CaptureEndInfo
##
VideoOutputError
拍照停止信息
。
录像输出错误码
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ----------------------------- |
| captureId | number | 是 | CaptureId,本次拍摄动作的ID。 |
| frameCount | number | 是 | 帧计数。 |
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------- | ----------------------- |
| code |
[
PhotoOutputError
](
#photooutputerror
)
| VideoOutput中的错误码。 |
##
PhotoOutputErrorCod
e
##
MetadataObjectTyp
e
枚举,
拍照输出的错误码
。
枚举,
metadata流
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| -------------
| ---- |
---------- |
|
ERROR_UNKNOWN | -1 | 未知错误
。 |
| -------------
------------ | ---- | -------
---------- |
|
FACE_DETECTION | 0 | metadata对象类型
。 |
##
PhotoOutputError
##
Rect
拍照输出错误对象
。
矩形定义
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------- | ----------------------- |
| code |
[
PhotoOutputError
](
#photooutputerror
)
| PhotoOutput中的错误码。 |
| -------- | ------ | -------------------- |
| topLeftX | number | 矩形区域左上角x坐标。 |
| topLeftY | number | 矩形区域左上角y坐标。 |
| width | number | 矩形宽。 |
| height | number | 矩形高。 |
## MetadataObject
## camera.createVideoOutput
相机元能力信息,
[
CameraInput
](
#camerainput
)
相机信息中的数据来源。
createVideoOutput(surfaceId: string, callback: AsyncCallback<VideoOutput
\>
): void
### getType
获取VideoOutput实例,通过注册回调函数获取结果。
getType(callback: AsyncCallback<MetadataObjectType
\>
): void
查询metadata对象类型,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------------------------------------------- | ---- | ----------------------------------- |
| surfaceId | string | 是 | 从VideoRecorder获取的Surface ID。 |
| callback | AsyncCallback<
[
VideoOutput
](
#videooutput
)
\>
| 是 | 回调函数,用于获取VideoOutput实例。 |
| -------- | --------------------------------------------------------- | --- | -------------------- |
| callback | AsyncCallback<
[
MetadataObjectType
](
#metadataobjecttype
)
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
camera
.
createVideoOutput
((
"
surfaceId
"
),
(
err
,
videoOutput
)
=>
{
metadataObject
.
getType
((
err
,
metadataObjectType
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to create the VideoOutput instance. ${err.message}
'
);
console
.
error
(
`Failed to get type.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with
the VideoOutput instance
'
);
})
;
console
.
log
(
'
Callback returned with
an array of metadataObjectType.
'
);
})
```
##
camera.createVideoOutput
##
# getType
createVideoOutput(surfaceId: string): Promise<VideoOutput
\>
getType(): Promise<MetadataObjectType
\>
获取VideoOutput实例
,通过Promise获取结果。
查询metadata对象类型
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | --------------------------------- |
| surfaceId | string | 是 | 从VideoRecorder获取的Surface ID。 |
**返回值:**
| 类型 | 说明 |
| -------------------------------------
| -----------
--------------------------- |
| Promise<
[
VideoOutput
](
#videooutput
)
\>
| 使用Promise的方式获取VideoOutput实例
。 |
| -------------------------------------
-------------- |
--------------------------- |
| Promise<
[
MetadataObjectType
](
#metadataobjecttype
)
\>
| 使用Promise的方式获取结果
。 |
**示例:**
```
js
camera
.
createVideoOutput
(
"
surfaceId
"
).
then
((
videoOutput
)
=>
{
console
.
log
(
'
Promise returned with the VideoOutput instance
'
);
metadataObject
.
getType
().
then
((
metadataObjectType
)
=>
{
console
.
log
(
'
Callback returned with an array of metadataObjectType.
'
);
})
```
## VideoOutput
视频输出类。
### start
### getTimestamp
start(callback: AsyncCallback<void
\>
): void
getTimestamp(callback: AsyncCallback<number
\>
): void
开始拍摄视频
,通过注册回调函数获取结果。
查询metadata时间戳
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。 |
| -------- | --------------------
---------------------------------------
| ---- | ------------------------ |
| callback | AsyncCallback<
number
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
videoOutput
.
start
((
err
)
=>
{
metadataObject
.
getTimestamp
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to start the video output ${err.message}
'
);
console
.
error
(
`Failed to get timestamp.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback
invoked to indicate the video output start success
.
'
);
})
;
console
.
log
(
'
Callback
returned with timestamp getted
.
'
);
})
```
###
start
###
getTimestamp
start(): Promise<void
\>
getTimestamp(): Promise<number
\>
开始拍摄视频
,通过Promise获取结果。
查询metadata时间戳
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
| ---------------- | --------------------------- |
| Promise<number)
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
videoOutput
.
start
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that start method execution success
.
'
);
metadataObject
.
getTimestamp
().
then
(()
=>
{
console
.
log
(
'
Callback returned with timestamp getted
.
'
);
})
```
###
stop
###
getBoundingBox
stop(callback: AsyncCallback<void
\>
): void
getBoundingBox(callback: AsyncCallback<Rect
\>
): void
停止拍摄视频
,通过注册回调函数获取结果。
查询metadata的边界框
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<
void
\>
| 是 | 回调函数,用于获取结果。 |
| -------- | --------------------
---------------------------------------
| ---- | ------------------------ |
| callback | AsyncCallback<
[
Rect
](
#rect
)
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
videoOutput
.
stop
((
err
)
=>
{
metadataObject
.
getBoundingBox
((
err
,
rect
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to stop the video output ${err.message}
'
);
console
.
error
(
`Failed to get boundingBox.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback
invoked to indicate the video output stop success
.
'
);
})
;
console
.
log
(
'
Callback
returned with boundingBox getted
.
'
);
})
```
###
stop
###
getBoundingBox
stop(): Promise<void
\>
getBoundingBox(): Promise<Rect
\>
停止拍摄视频
,通过Promise获取结果。
查询metadata的边界框
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise<
void
\>
| 使用Promise的方式获取结果。 |
| --------------
--------
| --------------------------- |
| Promise<
[
Rect
](
#rect
)
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
videoOutput
.
start
().
then
((
)
=>
{
console
.
log
(
'
Promise returned to indicate that stop method execution success
.
'
);
metadataObject
.
getBoundingBox
().
then
((
rect
)
=>
{
console
.
log
(
'
Callback returned with boundingBox getted
.
'
);
})
```
##
# release
##
MetadataFaceObject
release(callback: AsyncCallback<void
\>
): void
metadata的人脸对象。继承
[
MetadataObject
](
#metadataobject
)
## MetadataOutput
metadata流。继承
[
CameraOutput
](
#cameraoutput
)
### start
start(callback: AsyncCallback<void
\>
): void
释放VideoOutput实例
,通过注册回调函数获取结果。
开始输出metadata
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | --------------------
| ---- | -----
------------------- |
| -------- | --------------------
--------------------------------------- | ---- |
------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
videoOutput
.
release
((
err
)
=>
{
metadataOutput
.
start
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
Failed to release the VideoOutput instance ${err.message}
'
);
console
.
error
(
`Failed to start metadataOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback
invoked to indicate that the VideoOutput instance is released successfully
.
'
);
})
;
console
.
log
(
'
Callback
returned with metadataOutput started
.
'
);
})
```
###
release
###
start
release
(): Promise<void
\>
start
(): Promise<void
\>
释放VideoOutput实例
,通过Promise获取结果。
开始输出metadata
,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| --------------
| ---
------------------------ |
| --------------
-------- |
------------------------ |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
```
js
videoOutput
.
release
().
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate that the VideoOutput instance is released successfully
.
'
);
metadataOutput
.
start
().
then
(()
=>
{
console
.
log
(
'
Callback returned with metadataOutput started
.
'
);
})
```
###
on('frameStart')
###
stop
on(type: 'frameStart',
callback: AsyncCallback<void
\>
): void
stop(
callback: AsyncCallback<void
\>
): void
监听视频帧开启
,通过注册回调函数获取结果。
停止输出metadata
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| :------- | :------------------- | :--- | :----------------------------------------------- |
| type | string | 是 | 监听事件,固定为'frameStart',即视频帧开启事件。 |
| -------- | -------------------------- | ---- | ------------------- |
| callback | AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。 |
**示例:**
```
js
videoOutput
.
on
(
'
frameStart
'
,
()
=>
{
console
.
log
(
'
Video frame started
'
);
metadataOutput
.
stop
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to stop the metadataOutput.
${
err
.
message
}
`
);
return
;
}
console
.
log
(
'
Callback returned with metadataOutput stopped.
'
);
})
```
###
on('frameEnd')
###
stop
on(type: 'frameEnd', callback: AsyncCallback<void
\>
): void
stop(): Promise<void
\>
停止输出metadata,通过Promise获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**返回值:**
| 类型 | 说明 |
| ---------------------- | --------------------------- |
| Promise<void
\>
| 使用Promise的方式获取结果。 |
**示例:**
监听视频帧结束,通过注册回调函数获取结果。
```
js
metadataOutput
.
stop
().
then
(()
=>
{
console
.
log
(
'
Callback returned with metadataOutput stopped.
'
);
})
```
### on('metadataObjectsAvailable')
on(type: 'metadataObjectsAvailable', callback: AsyncCallback<Array<MetadataObject
\>\>
): void
监听检测到的metadata对象,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :------------------- | :--- | :---------
------------------------------------ |
| type | string
| 是 | 监听事件,固定为'frameEnd',即视频帧结束事件
。 |
| callback |
AsyncCallback<void
\>
| 是 | 回调函数,用于获取结果。
|
|
-------- | ------------------------------------------------ | ---- |
------------------------------------ |
| type | string
| 是 | 监听事件,固定为'metadataObjectsAvailable',即metadata对象
。 |
| callback |
Callback<Array<
[
MetadataObject
](
#metadataobject
)
\>\>
| 是 | 回调函数,用于获取错误信息。
|
**示例:**
```
js
videoOutput
.
on
(
'
frameEnd
'
,
(
)
=>
{
console
.
log
(
'
Video frame ended
'
);
metadataOutput
.
on
(
'
metadataObjectsAvailable
'
,
(
metadataObject
)
=>
{
console
.
log
(
`metadata output error code:
${
metadataObject
.
code
}
`
);
})
```
### on('error')
on(t
ype: 'error', callback: ErrorCallback<Video
OutputError
\>
): void
on(t
uype: 'error', callback: ErrorCallback<Metadata
OutputError
\>
): void
监听
视频输出的错误事件
,通过注册回调函数获取结果。
监听
metadata流的错误
,通过注册回调函数获取结果。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
|
:------- | :----------------------------------------------- | :--- | :-----
--------------------------------------- |
| type | string | 是 | 监听事件,固定为'error',即
视频输出错误事件
。 |
| callback | Callback<
[
VideoOutputError
](
#videooutputerror
)
\>
| 是 | 回调函数,用于获取错误信息。
|
|
-------- | ------------------------------------------------ | ---- |
--------------------------------------- |
| type | string | 是 | 监听事件,固定为'error',即
metadata流的错误
。 |
| callback | Callback<
[
MetadataOutputError
](
#metadataoutputerror
)
\>
| 是 | 回调函数,用于获取错误信息。
|
**示例:**
```
js
videoOutput
.
on
(
'
error
'
,
(
Video
OutputError
)
=>
{
console
.
log
(
'
Video output error code:
'
+
VideoOutputError
.
code
);
metadataOutput
.
on
(
'
error
'
,
(
metadata
OutputError
)
=>
{
console
.
log
(
`Metadata output error code:
${
metadataOutputError
.
code
}
`
);
})
```
##
Video
OutputErrorCode
##
Metadata
OutputErrorCode
枚举,
视频输出的错误码
。
枚举,
metadata输出错误类型
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 值 | 说明 |
| -------------
| ---- | --
-------- |
| -------------
------------------ | ---- |
-------- |
| ERROR_UNKNOWN | -1 | 未知错误。 |
| ERROR_INSUFFICIENT_RESOURCES | 0 | 资源不足。 |
##
Video
OutputError
##
Metadata
OutputError
视频输出错误对象
。
metadata输出错误码
。
**系统能力:**
SystemCapability.Multimedia.Camera.Core
| 名称 | 类型 | 说明 |
| ---- | ------------------------------------- | ----------------------- |
| code |
[
PhotoOutputError
](
#photooutputerror
)
| VideoOutput中的错误码。 |
\ No newline at end of file
| code |
[
MetadataOutputErrorCode
](
#metadataoutputerrorcode
)
| MetadataOutput中的错误码。 |
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录