Interface (Flash)
Flash继承自FlashQuery。
闪光灯类,对设备闪光灯操作。
说明:
- 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 本Interface首批接口从API version 11开始支持。
导入模块
import { camera } from '@kit.CameraKit';
setFlashMode11+
setFlashMode(flashMode: FlashMode): void
设置闪光灯模式。
进行设置之前,需要先检查:
- 设备是否支持闪光灯,可使用方法hasFlash。
- 设备是否支持指定的闪光灯模式,可使用方法isFlashModeSupported。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| flashMode | FlashMode | 是 | 指定闪光灯模式。传参为null或者undefined,作为0处理,闪光灯关闭。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
| 错误码ID | 错误信息 |
|---|---|
| 7400103 | Session not config. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function setFlashMode(photoSession: camera.PhotoSession): void {
try {
photoSession.setFlashMode(camera.FlashMode.FLASH_MODE_AUTO);
} catch (error) {
// 失败返回错误码error.code并处理。
let err = error as BusinessError;
console.error(`The setFlashMode call failed. error code: ${err.code}`);
}
}
getFlashMode11+
getFlashMode(): FlashMode
获取当前设备的闪光灯模式。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
返回值:
| 类型 | 说明 |
|---|---|
| FlashMode | 获取当前设备的闪光灯模式。接口调用失败会抛出相应错误码并返回undefined,错误码类型CameraErrorCode。 |
错误码:
以下错误码的详细介绍请参见Camera错误码。
| 错误码ID | 错误信息 |
|---|---|
| 7400103 | Session not config. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
function getFlashMode(photoSession: camera.PhotoSession): camera.FlashMode | undefined {
let flashMode: camera.FlashMode | undefined = undefined;
try {
flashMode = photoSession.getFlashMode();
} catch (error) {
// 失败返回错误码error.code并处理。
let err = error as BusinessError;
console.error(`The getFlashMode call failed.error code: ${err.code}`);
}
return flashMode;
}
onFlashStateChange24+
onFlashStateChange(callback: Callback<FlashState>): void
订阅闪光灯状态变化事件回调。
模型约束: 此接口仅可在Stage模型下使用。
原子化服务API: 从API version 24开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | Callback<FlashState> | 是 | 回调函数,用于获取闪光灯状态变化信息。 |
示例:
function onFlashStateChange(photoSession: camera.PhotoSession): void {
photoSession.onFlashStateChange((flashState: camera.FlashState) => {
console.info(`Flash state changed: ${flashState}`);
});
}
offFlashStateChange24+
offFlashStateChange(callback?: Callback<FlashState>): void
取消订阅闪光灯状态变化事件回调。
模型约束: 此接口仅可在Stage模型下使用。
原子化服务API: 从API version 24开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.Camera.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | Callback<FlashState> | 否 | 回调函数,如果指定参数则取消对应callback(callback对象不可是匿名函数),否则取消所有callback。 |
示例:
function offFlashStateChange(photoSession: camera.PhotoSession): void {
photoSession.offFlashStateChange();
}