harmony 鸿蒙Interface (Session)
Interface (Session)
说明:
本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
会话类,保存一次相机运行所需要的所有资源CameraInput、CameraOutput,并向相机设备申请完成相机功能(录像,拍照)。
beginConfig11+
beginConfig(): void
开始配置会话。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400105 | Session config locked. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function beginConfig(session: camera.Session): void {
try {
session.beginConfig();
} catch (error) {
// 失败返回错误码error.code并处理。
let err = error as BusinessError;
console.error(`The beginConfig call failed. error code: ${err.code}`);
}
}
commitConfig11+
commitConfig(callback: AsyncCallback<void>): void
提交配置信息,通过注册回调函数获取结果。使用callback异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调函数,用于获取结果。接口调用失败会返回相应错误码,错误码类型CameraErrorCode,比如预览流与录像输出流的分辨率的宽高比不一致,会返回7400201。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400102 | Operation not allowed. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function commitConfig(session: camera.Session): void {
session.commitConfig((err: BusinessError) => {
if (err) {
console.error(`The commitConfig call failed. error code: ${err.code}`);
return;
}
console.info('Callback invoked to indicate the commit config success.');
});
}
commitConfig11+
commitConfig(): Promise<void>
提交配置信息,通过Promise获取结果。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
返回值:
类型 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400102 | Operation not allowed. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function commitConfig(session: camera.Session): void {
session.commitConfig().then(() => {
console.info('Promise returned to indicate the commit config success.');
}).catch((error: BusinessError) => {
// 失败返回错误码error.code并处理。
console.error(`The commitConfig call failed. error code: ${error.code}`);
});
}
canAddInput11+
canAddInput(cameraInput: CameraInput): boolean
判断当前cameraInput是否可以添加到session中。当前函数需要在beginConfig和commitConfig之间生效。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
cameraInput | CameraInput | 是 | 需要添加的CameraInput实例。传参异常(如超出范围、传入null、未定义等),实际接口不会生效。 |
返回值:
类型 | 说明 |
---|---|
boolean | 判断当前cameraInput是否可以添加到session中。true表示支持添加当前cameraInput,false表示不支持添加。 |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function canAddInput(session: camera.Session, cameraInput: camera.CameraInput): void {
let canAdd: boolean = session.canAddInput(cameraInput);
console.info(`The input canAddInput: ${canAdd}`);
}
addInput11+
addInput(cameraInput: CameraInput): void
把CameraInput加入到会话。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
cameraInput | CameraInput | 是 | 需要添加的CameraInput实例。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400101 | Parameter missing or parameter type incorrect. |
7400102 | Operation not allowed. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function addInput(session: camera.Session, cameraInput: camera.CameraInput): void {
try {
session.addInput(cameraInput);
} catch (error) {
// 失败返回错误码error.code并处理。
let err = error as BusinessError;
console.error(`The addInput call failed. error code: ${err.code}`);
}
}
removeInput11+
removeInput(cameraInput: CameraInput): void
移除CameraInput。当前函数需要在beginConfig和commitConfig之间生效。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
cameraInput | CameraInput | 是 | 需要移除的CameraInput实例。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400101 | Parameter missing or parameter type incorrect. |
7400102 | Operation not allowed. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function removeInput(session: camera.Session, cameraInput: camera.CameraInput): void {
try {
session.removeInput(cameraInput);
} catch (error) {
// 失败返回错误码error.code并处理。
let err = error as BusinessError;
console.error(`The removeInput call failed. error code: ${err.code}`);
}
}
canAddOutput11+
canAddOutput(cameraOutput: CameraOutput): boolean
判断当前cameraOutput是否可以添加到session中。当前函数需要在addInput和commitConfig之间生效。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
cameraOutput | CameraOutput | 是 | 需要添加的CameraOutput实例。传参异常(如超出范围、传入null、未定义等),实际接口不会生效。 |
返回值:
类型 | 说明 |
---|---|
boolean | 是否可以添加当前cameraOutput到session中,true为可添加,false为不可添加。 |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function canAddOutput(session: camera.Session, cameraOutput: camera.CameraOutput): void {
let canAdd: boolean = session.canAddOutput(cameraOutput);
console.info(`This addOutput can add: ${canAdd}`);
}
addOutput11+
addOutput(cameraOutput: CameraOutput): void
把CameraOutput加入到会话。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
cameraOutput | CameraOutput | 是 | 需要添加的CameraOutput实例。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400101 | Parameter missing or parameter type incorrect. |
7400102 | Operation not allowed. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function addOutput(session: camera.Session, cameraOutput: camera.CameraOutput): void {
try {
session.addOutput(cameraOutput);
} catch (error) {
// 失败返回错误码error.code并处理。
let err = error as BusinessError;
console.error(`The addOutput call failed. error code: ${err.code}`);
}
}
removeOutput11+
removeOutput(cameraOutput: CameraOutput): void
从会话中移除CameraOutput。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
cameraOutput | CameraOutput | 是 | 需要移除的CameraOutput实例。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400101 | Parameter missing or parameter type incorrect. |
7400102 | Operation not allowed. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function removeOutput(session: camera.Session, previewOutput: camera.PreviewOutput): void {
try {
session.removeOutput(previewOutput);
} catch (error) {
// 失败返回错误码error.code并处理。
let err = error as BusinessError;
console.error(`The removeOutput call failed. error code: ${err.code}`);
}
}
start11+
start(callback: AsyncCallback<void>): void
开始会话工作,通过注册回调函数获取结果。使用callback异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调函数,用于获取结果。接口调用失败会返回相应错误码,错误码类型CameraErrorCode。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400102 | Operation not allowed. |
7400103 | Session not config. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function startCaptureSession(session: camera.Session): void {
session.start((err: BusinessError) => {
if (err) {
console.error(`Failed to start the session, error code: ${err.code}.`);
return;
}
console.info('Callback invoked to indicate the session start success.');
});
}
start11+
start(): Promise<void>
开始会话工作,通过Promise获取结果。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
返回值:
类型 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400102 | Operation not allowed. |
7400103 | Session not config. |
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function startCaptureSession(session: camera.Session): void {
session.start().then(() => {
console.info('Promise returned to indicate the session start success.');
}).catch((error: BusinessError) => {
console.error(`Failed to start the session, error code: ${error.code}.`);
});
}
stop11+
stop(callback: AsyncCallback<void>): void
停止会话工作,通过注册回调函数获取结果。使用callback异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调函数,用于获取结果。接口调用失败会返回相应错误码,错误码类型CameraErrorCode。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function stopCaptureSession(session: camera.Session): void {
session.stop((err: BusinessError) => {
if (err) {
console.error(`Failed to stop the session, error code: ${err.code}.`);
return;
}
console.info('Callback invoked to indicate the session stop success.');
});
}
stop11+
stop(): Promise<void>
停止会话工作,通过Promise获取结果。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
返回值:
类型 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function stopCaptureSession(session: camera.Session): void {
session.stop().then(() => {
console.info('Promise returned to indicate the session stop success.');
}).catch((error: BusinessError) => {
console.error(`Failed to stop the session, error code: ${error.code}.`);
});
}
release11+
release(callback: AsyncCallback<void>): void
释放会话资源,通过注册回调函数获取结果。使用callback异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调函数,用于获取结果。接口调用失败会返回相应错误码,错误码类型CameraErrorCode。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function releaseCaptureSession(session: camera.Session): void {
session.release((err: BusinessError) => {
if (err) {
console.error(`Failed to release the session instance, error code: ${err.code}.`);
return;
}
console.info('Callback invoked to indicate that the session instance is released successfully.');
});
}
release11+
release(): Promise<void>
释放会话资源,通过Promise获取结果。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
返回值:
类型 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
错误码ID | 错误信息 |
---|---|
7400201 | Camera service fatal error. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function releaseCaptureSession(session: camera.Session): void {
session.release().then(() => {
console.info('Promise returned to indicate that the session instance is released successfully.');
}).catch((error: BusinessError) => {
console.error(`Failed to release the session instance, error code: ${error.code}.`);
});
}
你可能感兴趣的鸿蒙文章
harmony 鸿蒙Interface (AutoDeviceSwitch)
harmony 鸿蒙Interface (AutoDeviceSwitchQuery)
harmony 鸿蒙Interface (AutoExposure)
harmony 鸿蒙Interface (AutoExposureQuery)
harmony 鸿蒙Interface (CameraInput)
harmony 鸿蒙Interface (CameraManager)
harmony 鸿蒙Interface (CameraOutput)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦