相機(jī)管理
說(shuō)明:
開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
導(dǎo)入模塊
import camera from '@ohos.multimedia.camera';
camera.getCameraManager
getCameraManager(context: Context, callback: AsyncCallback): void
獲取相機(jī)管理器實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
context | Context | 是 | 應(yīng)用上下文。 |
callback | AsyncCallback<[CameraManager]> | 是 | 回調(diào)函數(shù),用于獲取相機(jī)管理器實(shí)例。 |
示例:
camera.getCameraManager(context, (err, cameraManager) = > {
if (err) {
console.error('Failed to get the CameraManager instance ${err.message}');
return;
}
console.log('Callback returned with the CameraManager instance');
});
camera.getCameraManager
getCameraManager(context: Context): Promise
獲取相機(jī)管理器實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
context | Context | 是 | 應(yīng)用上下文。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[CameraManager]> | 使用Promise的方式獲取一個(gè)相機(jī)管理器實(shí)例。 |
示例:
camera.getCameraManager(context).then((cameraManager) = > {
console.log('Promise returned with the CameraManager instance.');
})
CameraStatus
枚舉,相機(jī)狀態(tài)。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
CAMERA_STATUS_APPEAR | 0 | 相機(jī)存在。 |
CAMERA_STATUS_DISAPPEAR | 1 | 相機(jī)不存在。 |
CAMERA_STATUS_AVAILABLE | 2 | 相機(jī)就緒。 |
CAMERA_STATUS_UNAVAILABLE | 3 | 相機(jī)未就緒。 |
CameraPosition
枚舉,相機(jī)方向。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
CAMERA_POSITION_UNSPECIFIED | 0 | 未指定方向相機(jī)。 |
CAMERA_POSITION_BACK | 1 | 后置相機(jī)。 |
CAMERA_POSITION_FRONT | 2 | 前置相機(jī)。 |
CameraType
枚舉,相機(jī)類型。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
CAMERA_TYPE_UNSPECIFIED | 0 | 未指定相機(jī)類型。 |
CAMERA_TYPE_WIDE_ANGLE | 1 | 廣角相機(jī)。 |
CAMERA_TYPE_ULTRA_WIDE | 2 | 超級(jí)廣角相機(jī)。 |
CAMERA_TYPE_TELEPHOTO | 3 | 長(zhǎng)焦相機(jī)。 |
CAMERA_TYPE_TRUE_DEPTH | 4 | 深度相機(jī)。 |
ConnectionType
枚舉,相機(jī)連接類型。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
CAMERA_CONNECTION_BUILT_IN | 0 | 內(nèi)置相機(jī)。 |
CAMERA_CONNECTION_USB_PLUGIN | 1 | 外置USB相機(jī)。 |
CAMERA_CONNECTION_REMOTE | 2 | 分布式相機(jī)。 |
Size
用于表示相機(jī)預(yù)覽、照片、視頻支持的尺寸大小。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 可讀 | 可寫 | 說(shuō)明 |
---|---|---|---|---|
height | string | 是 | 是 | 圖像的高度。 |
width | number | 是 | 是 | 圖像的寬度。 |
CameraManager
相機(jī)管理器類,使用前需要通過(guò)getCameraManager獲取相機(jī)管理實(shí)例。
getCameras
getCameras(callback: AsyncCallback>): void
異步獲取設(shè)備支持的相機(jī)列表,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback> | 是 | 使用callback方式獲取支持的相機(jī)列表。 |
示例:
cameraManager.getCameras((err, cameras) = > {
if (err) {
console.error('Failed to get the cameras. ${err.message}');
return;
}
console.log('Callback returned with an array of supported cameras: ' + cameras.length);
})
getCameras
getCameras(): Promise>
異步獲取設(shè)備支持的相機(jī)列表,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise> | 使用promise獲取支持相機(jī)列表。 |
示例:
cameraManager.getCameras().then((cameraArray) = > {
console.log('Promise returned with an array of supported cameras: ' + cameraArray.length);
})
createCameraInput
createCameraInput(cameraId: string, callback: AsyncCallback): void
使用相機(jī)ID異步創(chuàng)建CameraInput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
需要權(quán)限: ohos.permission.CAMERA
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
cameraId | string | 是 | 指定相機(jī)ID。 |
callback | AsyncCallback<[CameraInput]> | 是 | 回調(diào)函數(shù),用于獲取CameraInput實(shí)例。 |
示例:
cameraManager.createCameraInput(cameraId, (err, cameraInput) = > {
if (err) {
console.error('Failed to create the CameraInput instance. ${err.message}');
return;
}
console.log('Callback returned with the CameraInput instance.');
})
createCameraInput
createCameraInput(cameraId: string): Promise
使用相機(jī)ID異步創(chuàng)建CameraInput實(shí)例,通過(guò)Promise獲取結(jié)果。
需要權(quán)限: ohos.permission.CAMERA
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
cameraId | string | 是 | 指定相機(jī)ID。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[CameraInput]> | 使用Promise的方式獲取CameraInput的實(shí)例。 |
示例:
cameraManager.createCameraInput(cameraId).then((cameraInput) = > {
console.log('Promise returned with the CameraInput instance');
})
createCameraInput
createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void
使用相機(jī)位置和相機(jī)類型異步創(chuàng)建CameraInput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
需要權(quán)限: ohos.permission.CAMERA
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
position | [CameraPosition] | 是 | 相機(jī)位置。 |
type | [CameraType] | 是 | 相機(jī)類型。 |
callback | AsyncCallback<[CameraInput]> | 是 | 回調(diào)函數(shù),用于獲取CameraInput實(shí)例。 |
示例:
cameraManager.createCameraInput(camera.CameraPosition.CAMERA_POSITION_BACK, camera.CameraType.CAMERA_TYPE_UNSPECIFIED, (err, cameraInput) = > {
if (err) {
console.error('Failed to create the CameraInput instance. ${err.message}');
return;
}
console.log('Callback returned with the CameraInput instance');
})
createCameraInput
createCameraInput(position: CameraPosition, type: CameraType): Promise
使用相機(jī)位置和相機(jī)類型異步創(chuàng)建CameraInput實(shí)例,通過(guò)Promise獲取結(jié)果。
需要權(quán)限: ohos.permission.CAMERA
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
position | [CameraPosition] | 是 | 相機(jī)位置。 |
type | [CameraType] | 是 | 相機(jī)類型。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[CameraInput]> | 使用Promise的方式獲取CameraInput的實(shí)例。 |
示例:
cameraManager.createCameraInput(camera.CameraPosition.CAMERA_POSITION_BACK, camera.CameraType.CAMERA_TYPE_UNSPECIFIED).then((cameraInput) = > {
console.log('Promise returned with the CameraInput instance.');
})
on('cameraStatus')
on(type: 'cameraStatus', callback: AsyncCallback): void
監(jiān)聽相機(jī)的狀態(tài)變化,通過(guò)注冊(cè)回調(diào)函數(shù)獲取相機(jī)的狀態(tài)變化。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'cameraStatus',即相機(jī)狀態(tài)變化事件。 |
callback | AsyncCallback<[CameraStatusInfo]> | 是 | 回調(diào)函數(shù),用于獲取相機(jī)狀態(tài)變化信息。 |
示例:
cameraManager.on('cameraStatus', (err, cameraStatusInfo) = > {
if (err) {
console.error('Failed to get cameraStatus callback. ${err.message}');
return;
}
console.log('camera : ' + cameraStatusInfo.camera.cameraId);
console.log('status: ' + cameraStatusInfo.status);
})
Camera
調(diào)用[camera.getCameraManager]后,將返回Camera實(shí)例,包括相機(jī)ID、位置、類型、連接類型等相機(jī)相關(guān)的元數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。
名稱 | 類型 | 只讀 | 說(shuō)明 |
---|---|---|---|
cameraId | string | 是 | 相機(jī)ID。 |
cameraPosition | [CameraPosition] | 是 | 相機(jī)位置。 |
cameraType | [CameraType] | 是 | 相機(jī)類型。 |
connectionType | [ConnectionType] | 是 | 相機(jī)連接類型。 |
示例:
async function getCameraInfo("cameraId") {
var cameraManager = await camera.getCameraManager();
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;
}
CameraStatusInfo
相機(jī)管理器回調(diào)返回的接口實(shí)例,表示相機(jī)狀態(tài)信息。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。
名稱 | 類型 | 說(shuō)明 |
---|---|---|
camera | [Camera] | 相機(jī)信息。 |
status | [CameraStatus] | 相機(jī)狀態(tài)。 |
CameraInput
相機(jī)輸入類。在使用該類的方法前,需要先構(gòu)建一個(gè)CameraInput實(shí)例。
getCameraId
getCameraId(callback: AsyncCallback): void
異步獲取該CameraInput實(shí)例的相機(jī)ID,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取相機(jī)ID。 |
示例:
cameraInput.getCameraId((err, cameraId) = > {
if (err) {
console.error('Failed to get the camera ID. ${err.message}');
return;
}
console.log('Callback returned with the camera ID: ' + cameraId);
})
getCameraId
getCameraId(): Promise
異步獲取該CameraInput實(shí)例的相機(jī)ID,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取相機(jī)ID。 |
示例:
cameraInput.getCameraId().then((cameraId) = > {
console.log('Promise returned with the camera ID:' + cameraId);
})
hasFlash
hasFlash(callback: AsyncCallback): void
判斷設(shè)備是否支持閃光燈,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),返回true表示設(shè)備支持閃光燈。 |
示例:
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);
})
hasFlash
hasFlash(): Promise
判斷設(shè)備是否支持閃光燈,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果,返回true表示設(shè)備支持閃光燈。 |
示例:
cameraInput.hasFlash().then((status) = > {
console.log('Promise returned with the flash light support status:' + status);
})
isFlashModeSupported
isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void
判斷設(shè)備是否支持指定閃光燈模式,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
flashMode | [FlashMode] | 是 | 指定閃光燈模式。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),返回true表示支持該閃光燈模式。 |
示例:
cameraInput.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO, (err, status) = > {
if (err) {
console.error('Failed to check whether the flash mode is supported. ${err.message}');
return;
}
console.log('Callback returned with the flash mode support status: ' + status);
})
isFlashModeSupported
isFlashModeSupported(flashMode: FlashMode): Promise
判斷設(shè)備是否支持指定閃光燈模式,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
flashMode | [FlashMode] | 是 | 指定閃光燈模式。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果,返回true表示設(shè)備支持該閃光燈模式。 |
示例:
cameraInput.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO).then((status) = > {
console.log('Promise returned with flash mode support status.' + status);
})
setFlashMode
setFlashMode(flashMode: FlashMode, callback: AsyncCallback): void
設(shè)置閃光燈模式,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
進(jìn)行設(shè)置之前,需要先檢查:
- 設(shè)備是否支持閃光燈,可使用方法[hasFlash]。
- 設(shè)備是否支持指定的閃光燈模式,可使用方法[isFlashModeSupported]。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
flashMode | [FlashMode] | 是 | 指定閃光燈模式。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
cameraInput.setFlashMode(camera.FlashMode.FLASH_MODE_AUTO, (err) = > {
if (err) {
console.error('Failed to set the flash mode ${err.message}');
return;
}
console.log('Callback returned with the successful execution of setFlashMode.');
})
setFlashMode
setFlashMode(flashMode: FlashMode): Promise
設(shè)置閃光燈模式,通過(guò)Promise獲取結(jié)果。
進(jìn)行設(shè)置之前,需要先檢查:
- 設(shè)備是否支持閃光燈,可使用方法[hasFlash]。
- 設(shè)備是否支持指定的閃光燈模式。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
flashMode | [FlashMode] | 是 | 指定閃光燈模式。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
cameraInput.setFlashMode(camera.FlashMode.FLASH_MODE_AUTO).then(() = > {
console.log('Promise returned with the successful execution of setFlashMode.');
})
getFlashMode
getFlashMode(callback: AsyncCallback): void
獲取當(dāng)前設(shè)備的閃光燈模式,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<[FlashMode]> | 是 | 回調(diào)函數(shù),用于獲取當(dāng)前設(shè)備的閃光燈模式。 |
示例:
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);
})
getFlashMode
getFlashMode(): Promise
獲取當(dāng)前設(shè)備的閃光燈模式,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[FlashMode]> | 使用Promise的方式獲取當(dāng)前的閃光燈模式。 |
示例:
cameraInput.getFlashMode().then((flashMode) = > {
console.log('Promise returned with current flash mode : ' + flashMode);
})
isFocusModeSupported
isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback): void
判斷設(shè)備是否支持指定的焦距模式,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
afMode | [FocusMode] | 是 | 指定的焦距模式。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),返回true表示支持該焦距模式。 |
示例:
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
判斷設(shè)備是否支持指定的焦距模式,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
afMode | [FocusMode] | 是 | 指定的焦距模式。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果,返回true表示設(shè)備支持該焦距模式。 |
示例:
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
設(shè)置焦距模式,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
進(jìn)行設(shè)置之前,需要先檢查設(shè)備是否支持指定的焦距模式。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
afMode | [FocusMode] | 是 | 指定的焦距模式。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
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
設(shè)置焦距模式,通過(guò)Promise獲取結(jié)果。
進(jìn)行設(shè)置之前,需要先檢查設(shè)備是否支持指定的焦距模式,可使用方法[isFocusModeSupported]。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
afMode | [FocusMode] | 是 | 指定的焦距模式。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
cameraInput.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO).then(() = > {
console.log('Promise returned with the successful execution of setFocusMode.');
})
getFocusMode
getFocusMode(callback: AsyncCallback): void
獲取當(dāng)前設(shè)備的焦距模式,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<[FocusMode]> | 是 | 回調(diào)函數(shù),用于獲取當(dāng)前設(shè)備的焦距模式。 |
示例:
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
獲取當(dāng)前設(shè)備的焦距模式,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取當(dāng)前的焦距模式。 |
示例:
cameraInput.getFocusMode().then((afMode) = > {
console.log('Promise returned with current focus mode : ' + afMode);
})
getZoomRatioRange
getZoomRatioRange(callback: AsyncCallback>): void
獲取可變焦距比范圍,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback> | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
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>
獲取可變焦距比范圍,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise> | 使用Promise的方式獲取當(dāng)前的可變焦距比范圍。 |
示例:
cameraInput.getZoomRatioRange().then((zoomRatioRange) = > {
console.log('Promise returned with zoom ratio range: ' + zoomRatioRange.length);
})
setZoomRatio
setZoomRatio(zoomRatio: number, callback: AsyncCallback): void
設(shè)置可變焦距比,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
zoomRatio | number | 是 | 可變焦距比。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
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
設(shè)置可變焦距比,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
zoomRatio | number | 是 | 可變焦距比。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
cameraInput.setZoomRatio(1).then(() = > {
console.log('Promise returned with the successful execution of setZoomRatio.');
})
getZoomRatio
getZoomRatio(callback: AsyncCallback): void
獲取當(dāng)前的可變焦距比,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
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
獲取當(dāng)前的可變焦距比,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
cameraInput.getZoomRatio().then((zoomRatio) = > {
console.log('Promise returned with current zoom ratio : ' + zoomRatio);
})
release
release(callback: AsyncCallback): void
釋放相機(jī)實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
cameraInput.release((err) = > {
if (err) {
console.error('Failed to release the CameraInput instance ${err.message}');
return;
}
console.log('Callback invoked to indicate that the CameraInput instance is released successfully.');
});
release
release(): Promise
釋放相機(jī)實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
cameraInput.release().then(() = > {
console.log('Promise returned to indicate that the CameraInput instance is released successfully.');
})
on('focusStateChange')
on(type: 'focusStateChange', callback: AsyncCallback): void
監(jiān)聽焦距的狀態(tài)變化,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'focusStateChange',即焦距狀態(tài)變化事件。 |
callback | AsyncCallback<[FocusState]> | 是 | 回調(diào)函數(shù),用于獲取焦距狀態(tài)。 |
示例:
cameraInput.on('focusStateChange', (focusState) = > {
console.log('Focus state : ' + focusState);
})
on('error')
on(type: 'error', callback: ErrorCallback): void
監(jiān)聽CameraInput的錯(cuò)誤事件,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'error',即CameraInput錯(cuò)誤事件。 |
callback | ErrorCallback<[CameraInputError]> | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
cameraInput.on('error', (cameraInputError) = > {
console.log('Camera input error code: ' + cameraInputError.code);
})
CameraInputErrorCode
枚舉,CameraInput的錯(cuò)誤碼。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
ERROR_UNKNOWN | -1 | 未知錯(cuò)誤。 |
CameraInputError
CameraInput錯(cuò)誤對(duì)象。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 說(shuō)明 |
---|---|---|
code | [CameraInputErrorCode] | CameraInput中的錯(cuò)誤碼。 |
FlashMode
枚舉,閃光燈模式。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
FLASH_MODE_CLOSE | 0 | 閃光燈關(guān)閉。 |
FLASH_MODE_OPEN | 1 | 閃光燈開啟。 |
FLASH_MODE_AUTO | 2 | 自動(dòng)閃光燈。 |
FLASH_MODE_ALWAYS_OPEN | 3 | 閃光燈常亮。 |
FocusMode
枚舉,焦距模式。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
FOCUS_MODE_MANUAL | 0 | 手動(dòng)變焦模式。 |
FOCUS_MODE_CONTINUOUS_AUTO | 1 | 連續(xù)自動(dòng)變焦模式。 |
FOCUS_MODE_AUTO | 2 | 自動(dòng)變焦模式。 |
FOCUS_MODE_LOCKED | 3 | 定焦模式。 |
FocusState
枚舉,焦距狀態(tài)。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。
名稱 | 值 | 說(shuō)明 |
---|---|---|
FOCUS_STATE_SCAN | 0 | 掃描狀態(tài)。 |
FOCUS_STATE_FOCUSED | 1 | 相機(jī)已對(duì)焦。 |
FOCUS_STATE_UNFOCUSED | 2 | 相機(jī)未對(duì)焦。 |
camera.createCaptureSession
createCaptureSession(context: Context, callback: AsyncCallback): void
獲取CaptureSession實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
context | Context | 是 | 應(yīng)用上下文。 |
callback | AsyncCallback<[CaptureSession]> | 是 | 回調(diào)函數(shù),用于獲取CaptureSession實(shí)例。 |
示例:
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
createCaptureSession(context: Context): Promise;
獲取CaptureSession實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
context | Context | 是 | 應(yīng)用上下文。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[CaptureSession]> | 使用Promise的方式獲取CaptureSession實(shí)例。 |
示例:
camera.createCaptureSession(context).then((captureSession) = > {
console.log('Promise returned with the CaptureSession instance');
})
CaptureSession
拍照會(huì)話類。
beginConfig
beginConfig(callback: AsyncCallback): void
開始配置會(huì)話,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.beginConfig((err) = > {
if (err) {
console.error('Failed to start the configuration. ${err.message}');
return;
}
console.log('Callback invoked to indicate the begin config success.');
});
beginConfig
beginConfig(): Promise
開始配置會(huì)話,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.beginConfig().then(() = > {
console.log('Promise returned to indicate the begin config success.');
})
commitConfig
commitConfig(callback: AsyncCallback): void
提交會(huì)話配置,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.commitConfig((err) = > {
if (err) {
console.error('Failed to commit the configuration. ${err.message}');
return;
}
console.log('Callback invoked to indicate the commit config success.');
});
commitConfig
commitConfig(): Promise
提交會(huì)話配置,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.commitConfig().then(() = > {
console.log('Promise returned to indicate the commit config success.');
})
addInput
addInput(cameraInput: CameraInput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,添加一個(gè)CameraInput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
cameraInput | [CameraInput] | 是 | 需要添加的CameraInput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.addInput(cameraInput, (err) = > {
if (err) {
console.error('Failed to add the CameraInput instance. ${err.message}');
return;
}
console.log('Callback invoked to indicate that the CameraInput instance is added.');
});
addInput
addInput(cameraInput: CameraInput): Promise
在當(dāng)前會(huì)話中,添加一個(gè)CameraInput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
cameraInput | [CameraInput] | 是 | 需要添加的CameraInput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.addInput(cameraInput).then(() = > {
console.log('Promise used to indicate that the CameraInput instance is added.');
})
addOutput
addOutput(previewOutput: PreviewOutput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,添加一個(gè)PreviewOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
previewOutput | [PreviewOutput] | 是 | 需要添加的PreviewOutput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.addOutput(previewOutput, (err) = > {
if (err) {
console.error('Failed to add the PreviewOutput instance ${err.message}');
return;
}
console.log('Callback invoked to indicate that the PreviewOutput instance is added.');
});
addOutput
addOutput(previewOutput: PreviewOutput): Promise
在當(dāng)前會(huì)話中,添加一個(gè)PreviewOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
previewOutput | [PreviewOutput] | 是 | 需要添加的PreviewOutput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.addOutput(previewOutput).then(() = > {
console.log('Promise used to indicate that the PreviewOutput instance is added.');
})
addOutput
addOutput(photoOutput: PhotoOutput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,添加一個(gè)PhotoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
photoOutput | [PhotoOutput] | 是 | 需要添加的PhotoOutput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.addOutput(photoOutput, (err) = > {
if (err) {
console.error('Failed to add the PhotoOutput instance ${err.message}');
return;
}
console.log('Callback invoked to indicate that the PhotoOutput instance is added.');
});
addOutput
addOutput(photoOutput: PhotoOutput): Promise
在當(dāng)前會(huì)話中,添加一個(gè)PhotoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
photoOutput | [PhotoOutput] | 是 | 需要添加的PhotoOutput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.addOutput(photoOutput).then(() = > {
console.log('Promise used to indicate that the PhotoOutput instance is added.');
})
addOutput
addOutput(videoOutput: VideoOutput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,添加一個(gè)VideoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
videoOutput | [VideoOutput] | 是 | 需要添加的VideoOutput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.addOutput(videoOutput, (err) = > {
if (err) {
console.error('Failed to add the VideoOutput instance ${err.message}');
return;
}
console.log('Callback invoked to indicate that the VideoOutput instance is added.');
});
addOutput
addOutput(videoOutput: VideoOutput): Promise
在當(dāng)前會(huì)話中,添加一個(gè)VideoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
videoOutput | [VideoOutput] | 是 | 需要添加的VideoOutput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.addOutput(videoOutput).then(() = > {
console.log('Promise used to indicate that the VideoOutput instance is added.');
})
removeInput
removeInput(cameraInput: CameraInput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,移除一個(gè)CameraInput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
cameraInput | [CameraInput] | 是 | 需要移除的CameraInput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.removeInput(cameraInput, (err) = > {
if (err) {
console.error('Failed to remove the CameraInput instance. ${err.message}');
return;
}
console.log('Callback invoked to indicate that the cameraInput instance is removed.');
});
removeInput
removeInput(cameraInput: CameraInput): Promise
在當(dāng)前會(huì)話中,移除一個(gè)CameraInput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
cameraInput | [CameraInput] | 是 | 需要移除的CameraInput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.removeInput(cameraInput).then(() = > {
console.log('Promise returned to indicate that the cameraInput instance is removed.');
})
removeOutput
removeOutput(previewOutput: PreviewOutput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,移除一個(gè)PreviewOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
previewOutput | [PreviewOutput] | 是 | 需要移除的PreviewOutput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.removeOutput(previewOutput, (err) = > {
if (err) {
console.error('Failed to remove the PreviewOutput instance. ${err.message}');
return;
}
console.log('Callback invoked to indicate that the PreviewOutput instance is removed.');
});
removeOutput
removeOutput(previewOutput: PreviewOutput): Promise
在當(dāng)前會(huì)話中,移除一個(gè)PreviewOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
previewOutput | [PreviewOutput] | 是 | 需要移除的PreviewOutput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.removeOutput(previewOutput).then(() = > {
console.log('Promise returned to indicate that the PreviewOutput instance is removed.');
})
removeOutput
removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,移除一個(gè)PhotoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
photoOutput | [PhotoOutput] | 是 | 需要移除的PhotoOutput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.removeOutput(photoOutput, (err) = > {
if (err) {
console.error('Failed to remove the PhotoOutput instance. ${err.message}');
return;
}
console.log('Callback invoked to indicate that the PhotoOutput instance is removed.');
});
removeOutput
removeOutput(photoOutput: PhotoOutput): Promise
在當(dāng)前會(huì)話中,移除一個(gè)PhotoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
photoOutput | [PhotoOutput] | 是 | 需要移除的PhotoOutput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.removeOutput(photoOutput).then(() = > {
console.log('Promise returned to indicate that the PhotoOutput instance is removed.');
})
removeOutput
removeOutput(videoOutput: VideoOutput, callback: AsyncCallback): void
在當(dāng)前會(huì)話中,移除一個(gè)VideoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
videoOutput | [VideoOutput] | 是 | 需要移除的VideoOutput實(shí)例。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.removeOutput(videoOutput, (err) = > {
if (err) {
console.error('Failed to remove the VideoOutput instance. ${err.message}');
return;
}
console.log('Callback invoked to indicate that the VideoOutput instance is removed.');
});
removeOutput
removeOutput(videoOutput: VideoOutput): Promise
在當(dāng)前會(huì)話中,移除一個(gè)VideoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
videoOutput | [VideoOutput] | 是 | 需要移除的VideoOutput實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.removeOutput(videoOutput).then(() = > {
console.log('Promise returned to indicate that the VideoOutput instance is removed.');
})
start
start(callback: AsyncCallback): void
啟動(dòng)拍照會(huì)話,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.start((err) = > {
if (err) {
console.error('Failed to start the session ${err.message}');
return;
}
console.log('Callback invoked to indicate the session start success.');
});
start
start(): Promise
啟動(dòng)拍照會(huì)話,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.start().then(() = > {
console.log('Promise returned to indicate the session start success.');
})
stop
stop(callback: AsyncCallback): void
停止拍照會(huì)話,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.stop((err) = > {
if (err) {
console.error('Failed to stop the session ${err.message}');
return;
}
console.log('Callback invoked to indicate the session stop success.');
});
stop
stop(): Promise
停止拍照會(huì)話,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.stop().then(() = > {
console.log('Promise returned to indicate the session stop success.');
})
release
release(callback: AsyncCallback): void
釋放CaptureSession實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
captureSession.release((err) = > {
if (err) {
console.error('Failed to release the CaptureSession instance ${err.message}');
return;
}
console.log('Callback invoked to indicate that the CaptureSession instance is released successfully.');
});
release
release(): Promise
釋放CaptureSession實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
captureSession.release().then(() = > {
console.log('Promise returned to indicate that the CaptureSession instance is released successfully.');
})
on('error')
on(type: 'error', callback: ErrorCallback): void
監(jiān)聽拍照會(huì)話的錯(cuò)誤事件,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'error',即拍照會(huì)話錯(cuò)誤事件。 |
callback | ErrorCallback<[CaptureSessionError]> | 是 | 回調(diào)函數(shù),用于獲取錯(cuò)誤信息。 |
示例:
captureSession.on('error', (captureSessionError) = > {
console.log('Capture session error code: ' + captureSessionError.code);
})
CaptureSessionErrorCode
枚舉,拍照會(huì)話的錯(cuò)誤碼。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
ERROR_UNKNOWN | -1 | 未知錯(cuò)誤。 |
CaptureSessionError
拍照會(huì)話錯(cuò)誤對(duì)象。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 說(shuō)明 |
---|---|---|
code | [CaptureSessionError] | CaptureSession中的錯(cuò)誤碼。 |
camera.createPreviewOutput
createPreviewOutput(surfaceId: string, callback: AsyncCallback): void
獲取PreviewOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
surfaceId | string | 是 | 從XComponent組件獲取的Surface ID。 |
callback | AsyncCallback<[PreviewOutput]> | 是 | 回調(diào)函數(shù),用于獲取PreviewOutput實(shí)例。 |
示例:
camera.createPreviewOutput(("surfaceId"), (err, previewOutput) = > {
if (err) {
console.error('Failed to create the PreviewOutput instance. ${err.message}');
return;
}
console.log('Callback returned with previewOutput instance');
});
camera.createPreviewOutput
createPreviewOutput(surfaceId: string): Promise
獲取PreviewOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
surfaceId | string | 是 | 從XComponent組件獲取的Surface ID。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[PreviewOutput]> | 使用Promise的方式獲取結(jié)果。 |
示例:
camera.createPreviewOutput("surfaceId").then((previewOutput) = > {
console.log('Promise returned with the PreviewOutput instance');
})
PreviewOutput
預(yù)覽輸出類。
release
release(callback: AsyncCallback): void
釋放PreviewOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
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
釋放PreviewOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
previewOutput.release().then(() = > {
console.log('Promise returned to indicate that the PreviewOutput instance is released successfully.');
})
on('frameStart')
on(type: 'frameStart', callback: AsyncCallback): void
監(jiān)聽預(yù)覽幀啟動(dòng),通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'frameStart',即幀啟動(dòng)事件。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
previewOutput.on('frameStart', () = > {
console.log('Preview frame started');
})
on('frameEnd')
on(type: 'frameEnd', callback: AsyncCallback): void
監(jiān)聽預(yù)覽幀結(jié)束,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'frameEnd',即幀結(jié)束事件。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
previewOutput.on('frameEnd', () = > {
console.log('Preview frame ended');
})
on('error')
on(type: 'error', callback: ErrorCallback): void
監(jiān)聽預(yù)覽輸出的錯(cuò)誤事件,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'error',即預(yù)覽輸出錯(cuò)誤事件。 |
callback | ErrorCallback<[PreviewOutputErrorCode]> | 是 | 回調(diào)函數(shù),用于獲取錯(cuò)誤信息。 |
示例:
previewOutput.on('error', (previewOutputError) = > {
console.log('Preview output error code: ' + previewOutputError.code);
})
PreviewOutputErrorCode
枚舉,預(yù)覽輸出的錯(cuò)誤碼。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
ERROR_UNKNOWN | -1 | 未知錯(cuò)誤。 |
PreviewOutputError
預(yù)覽輸出錯(cuò)誤對(duì)象。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 說(shuō)明 |
---|---|---|
code | [PreviewOutputErrorCode] | PreviewOutput中的錯(cuò)誤碼。 |
camera.createPhotoOutput
createPhotoOutput(surfaceId: string, callback: AsyncCallback): void
獲取PhotoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
surfaceId | string | 是 | 從[ImageReceiver]獲取的Surface ID。 |
callback | AsyncCallback<[PhotoOutput]> | 是 | 回調(diào)函數(shù),用于獲取PhotoOutput實(shí)例。 |
示例:
camera.createPhotoOutput(("surfaceId"), (err, photoOutput) = > {
if (err) {
console.error('Failed to create the PhotoOutput instance. ${err.message}');
return;
}
console.log('Callback returned with the PhotoOutput instance.');
});
camera.createPhotoOutput
createPhotoOutput(surfaceId: string): Promise
獲取PhotoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
surfaceId | string | 是 | 從[ImageReceiver]獲取的Surface ID。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[PhotoOutput]> | 使用Promise的方式獲取PhotoOutput實(shí)例。 |
示例:
camera.createPhotoOutput("surfaceId").then((photoOutput) = > {
console.log('Promise returned with PhotoOutput instance');
})
ImageRotation
枚舉,圖片旋轉(zhuǎn)角度。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
ROTATION_0 | 0 | 圖片旋轉(zhuǎn)0度。 |
ROTATION_90 | 90 | 圖片旋轉(zhuǎn)90度。 |
ROTATION_180 | 180 | 圖片旋轉(zhuǎn)180度。 |
ROTATION_270 | 270 | 圖片旋轉(zhuǎn)270度。 |
QualityLevel
枚舉,圖片質(zhì)量。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
QUALITY_LEVEL_HIGH | 0 | 圖片質(zhì)量高。 |
QUALITY_LEVEL_MEDIUM | 1 | 圖片質(zhì)量中等。 |
QUALITY_LEVEL_LOW | 2 | 圖片質(zhì)量差。 |
PhotoCaptureSetting
拍攝照片的設(shè)置。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
quality | [QualityLevel] | 否 | 圖片質(zhì)量。 |
rotation | [ImageRotation] | 否 | 圖片旋轉(zhuǎn)角度。 |
PhotoOutput
照片輸出類。
capture
capture(callback: AsyncCallback): void
拍照,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
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
根據(jù)拍照設(shè)置拍照,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
setting | [PhotoCaptureSetting] | 是 | 拍照設(shè)置。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
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
根據(jù)拍照設(shè)置拍照,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
setting | [PhotoCaptureSetting] | 否 | 拍照設(shè)置。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
photoOutput.capture().then(() = > {
console.log('Promise returned to indicate that photo capture request success.');
})
release
release(callback: AsyncCallback): void
釋放PhotoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
photoOutput.release((err) = > {
if (err) {
console.error('Failed to release the PhotoOutput instance ${err.message}');
return;
}
console.log('Callback invoked to indicate that the PhotoOutput instance is released successfully.');
});
release
release(): Promise
釋放PhotoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
photoOutput.release().then(() = > {
console.log('Promise returned to indicate that the PhotoOutput instance is released successfully.');
})
on('captureStart')
on(type: 'captureStart', callback: AsyncCallback): void
監(jiān)聽拍照啟動(dòng),通過(guò)注冊(cè)回調(diào)函數(shù)獲取Capture ID。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'captureStart',即拍照啟動(dòng)事件。 |
callback | AsyncCallback | 是 | 使用callback的方式獲取Capture ID。 |
示例:
photoOutput.on('captureStart', (err, captureId) = > {
console.log('photo capture stated, captureId : ' + captureId);
})
on('frameShutter')
on(type: 'frameShutter', callback: AsyncCallback): void
監(jiān)聽快門,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'frameShutter',即幀刷新事件。 |
callback | AsyncCallback<[FrameShutterInfo]> | 是 | 回調(diào)函數(shù),用于獲取相關(guān)信息。 |
示例:
photoOutput.on('frameShutter', (frameShutterInfo) = > {
console.log('photo capture end, captureId : ' + frameShutterInfo.captureId);
console.log('Timestamp for frame : ' + frameShutterInfo.timestamp);
})
on('captureEnd')
on(type: 'captureEnd', callback: AsyncCallback): void
監(jiān)聽拍照停止,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'captureEnd',即拍照停止事件。 |
callback | AsyncCallback<[CaptureEndInfo]> | 是 | 回調(diào)函數(shù),用于獲取相關(guān)信息。 |
示例:
photoOutput.on('captureEnd', (captureEndInfo) = > {
console.log('photo capture end, captureId : ' + captureEndInfo.captureId);
console.log('frameCount : ' + captureEndInfo.frameCount);
})
on('error')
on(type: 'error', callback: ErrorCallback): void
監(jiān)聽拍照的錯(cuò)誤事件,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'error',即拍照錯(cuò)誤事件。 |
callback | ErrorCallback<[PhotoOutputError]> | 是 | 回調(diào)函數(shù),用于獲取錯(cuò)誤信息。 |
示例:
photoOutput.on('error', (photoOutputError) = > {
console.log('Photo output error code: ' + photoOutputError.code);
})
FrameShutterInfo
快門事件信息。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
captureId | number | 是 | CaptureId,本次拍攝動(dòng)作的ID。 |
timestamp | number | 是 | 時(shí)間戳。 |
CaptureEndInfo
拍照停止信息。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
captureId | number | 是 | CaptureId,本次拍攝動(dòng)作的ID。 |
frameCount | number | 是 | 幀計(jì)數(shù)。 |
PhotoOutputErrorCode
枚舉,拍照輸出的錯(cuò)誤碼。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 值 | 說(shuō)明 |
---|---|---|
ERROR_UNKNOWN | -1 | 未知錯(cuò)誤。 |
PhotoOutputError
拍照輸出錯(cuò)誤對(duì)象。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 說(shuō)明 |
---|---|---|
code | [PhotoOutputError] | PhotoOutput中的錯(cuò)誤碼。 |
camera.createVideoOutput
createVideoOutput(surfaceId: string, callback: AsyncCallback): void
獲取VideoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
surfaceId | string | 是 | 從VideoRecorder獲取的Surface ID。 |
callback | AsyncCallback<[VideoOutput]> | 是 | 回調(diào)函數(shù),用于獲取VideoOutput實(shí)例。 |
示例:
camera.createVideoOutput(("surfaceId"), (err, videoOutput) = > {
if (err) {
console.error('Failed to create the VideoOutput instance. ${err.message}');
return;
}
console.log('Callback returned with the VideoOutput instance');
});
camera.createVideoOutput
createVideoOutput(surfaceId: string): Promise
獲取VideoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
surfaceId | string | 是 | 從VideoRecorder獲取的Surface ID。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<[VideoOutput]> | 使用Promise的方式獲取VideoOutput實(shí)例。 |
示例:
camera.createVideoOutput("surfaceId"
).then((videoOutput) = > {
console.log('Promise returned with the VideoOutput instance');
})
VideoOutput
視頻輸出類。
start
start(callback: AsyncCallback): void
開始拍攝視頻,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
videoOutput.start((err) = > {
if (err) {
console.error('Failed to start the video output ${err.message}');
return;
}
console.log('Callback invoked to indicate the video output start success.');
});
start
start(): Promise
開始拍攝視頻,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
videoOutput.start().then(() = > {
console.log('Promise returned to indicate that start method execution success.');
})
stop
stop(callback: AsyncCallback): void
停止拍攝視頻,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
videoOutput.stop((err) = > {
if (err) {
console.error('Failed to stop the video output ${err.message}');
return;
}
console.log('Callback invoked to indicate the video output stop success.');
});
stop
stop(): Promise
停止拍攝視頻,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
videoOutput.start().then(() = > {
console.log('Promise returned to indicate that stop method execution success.');
})
release
release(callback: AsyncCallback): void
釋放VideoOutput實(shí)例,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
videoOutput.release((err) = > {
if (err) {
console.error('Failed to release the VideoOutput instance ${err.message}');
return;
}
console.log('Callback invoked to indicate that the VideoOutput instance is released successfully.');
});
release
release(): Promise
釋放VideoOutput實(shí)例,通過(guò)Promise獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 使用Promise的方式獲取結(jié)果。 |
示例:
videoOutput.release().then(() = > {
console.log('Promise returned to indicate that the VideoOutput instance is released successfully.');
})
on('frameStart')
on(type: 'frameStart', callback: AsyncCallback): void
監(jiān)聽視頻幀開啟,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'frameStart',即視頻幀開啟事件。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
videoOutput.on('frameStart', () = > {
console.log('Video frame started');
})
on('frameEnd')
on(type: 'frameEnd', callback: AsyncCallback): void
監(jiān)聽視頻幀結(jié)束,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'frameEnd',即視頻幀結(jié)束事件。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),用于獲取結(jié)果。 |
示例:
videoOutput.on('frameEnd', () = > {
console.log('Video frame ended');
})
on('error')
on(type: 'error', callback: ErrorCallback): void
監(jiān)聽視頻輸出的錯(cuò)誤事件,通過(guò)注冊(cè)回調(diào)函數(shù)獲取結(jié)果。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
參數(shù):
名稱 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 監(jiān)聽事件,固定為'error',即視頻輸出錯(cuò)誤事件。 |
callback | Callback<[VideoOutputError]> | 是 | 回調(diào)函數(shù),用于獲取錯(cuò)誤信息。 |
示例:
videoOutput.on('error', (VideoOutputError) = > {
console.log('Video output error code: ' + VideoOutputError.code);
})
VideoOutputErrorCode
枚舉,視頻輸出的錯(cuò)誤碼。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 | 值 | 說(shuō)明 |
---|---|---|
ERROR_UNKNOWN | -1 | 未知錯(cuò)誤。 |
VideoOutputError
視頻輸出錯(cuò)誤對(duì)象。
系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core
名稱 | 類型 | 說(shuō)明 |
---|---|---|
code | [PhotoOutputError] | VideoOutput中的錯(cuò)誤碼。 |
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8596瀏覽量
151145 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2351瀏覽量
42849
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論