在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)接口媒體:【@ohos.multimedia.camera (相機管理)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-31 09:42 ? 次閱讀

相機管理

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。

導入模塊

import camera from '@ohos.multimedia.camera';

camera.getCameraManager

getCameraManager(context: Context, callback: AsyncCallback): void

獲取相機管理器實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù)

名稱類型必填說明
contextContext應用上下文。
callbackAsyncCallback<[CameraManager]>回調(diào)函數(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

獲取相機管理器實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
contextContext應用上下文。

返回值:

類型說明
Promise<[CameraManager]>使用Promise的方式獲取一個相機管理器實例。

示例:

camera.getCameraManager(context).then((cameraManager) = > {
    console.log('Promise returned with the CameraManager instance.');
})

CameraStatus

枚舉,相機狀態(tài)。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
CAMERA_STATUS_APPEAR0相機存在。
CAMERA_STATUS_DISAPPEAR1相機不存在。
CAMERA_STATUS_AVAILABLE2相機就緒。
CAMERA_STATUS_UNAVAILABLE3相機未就緒。

CameraPosition

枚舉,相機方向。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
CAMERA_POSITION_UNSPECIFIED0未指定方向相機。
CAMERA_POSITION_BACK1后置相機。
CAMERA_POSITION_FRONT2前置相機。

CameraType

枚舉,相機類型。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
CAMERA_TYPE_UNSPECIFIED0未指定相機類型。
CAMERA_TYPE_WIDE_ANGLE1廣角相機。
CAMERA_TYPE_ULTRA_WIDE2超級廣角相機。
CAMERA_TYPE_TELEPHOTO3長焦相機。
CAMERA_TYPE_TRUE_DEPTH4深度相機。

ConnectionType

枚舉,相機連接類型。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
CAMERA_CONNECTION_BUILT_IN0內(nèi)置相機。
CAMERA_CONNECTION_USB_PLUGIN1外置USB相機。
CAMERA_CONNECTION_REMOTE2分布式相機。

Size

用于表示相機預覽、照片、視頻支持的尺寸大小。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型可讀可寫說明
heightstring圖像的高度。
widthnumber圖像的寬度。

CameraManager

相機管理器類,使用前需要通過getCameraManager獲取相機管理實例。

getCameras

getCameras(callback: AsyncCallback>): void

異步獲取設備支持的相機列表,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback>使用callback方式獲取支持的相機列表。

示例:

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>

異步獲取設備支持的相機列表,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise>使用promise獲取支持相機列表。

示例:

cameraManager.getCameras().then((cameraArray) = > {
    console.log('Promise returned with an array of supported cameras: ' + cameraArray.length);
})

createCameraInput

createCameraInput(cameraId: string, callback: AsyncCallback): void

使用相機ID異步創(chuàng)建CameraInput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

需要權(quán)限: ohos.permission.CAMERA

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
cameraIdstring指定相機ID。
callbackAsyncCallback<[CameraInput]>回調(diào)函數(shù),用于獲取CameraInput實例。

示例:

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

使用相機ID異步創(chuàng)建CameraInput實例,通過Promise獲取結(jié)果。

需要權(quán)限: ohos.permission.CAMERA

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
cameraIdstring指定相機ID。

返回值:

類型說明
Promise<[CameraInput]>使用Promise的方式獲取CameraInput的實例。

示例:

cameraManager.createCameraInput(cameraId).then((cameraInput) = > {
    console.log('Promise returned with the CameraInput instance');
})

createCameraInput

createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void

使用相機位置和相機類型異步創(chuàng)建CameraInput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

需要權(quán)限: ohos.permission.CAMERA

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
position[CameraPosition]相機位置。
type[CameraType]相機類型。
callbackAsyncCallback<[CameraInput]>回調(diào)函數(shù),用于獲取CameraInput實例。

示例:

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

使用相機位置和相機類型異步創(chuàng)建CameraInput實例,通過Promise獲取結(jié)果。

需要權(quán)限: ohos.permission.CAMERA

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
position[CameraPosition]相機位置。
type[CameraType]相機類型。

返回值:

類型說明
Promise<[CameraInput]>使用Promise的方式獲取CameraInput的實例。

示例:

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)聽相機的狀態(tài)變化,通過注冊回調(diào)函數(shù)獲取相機的狀態(tài)變化。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'cameraStatus',即相機狀態(tài)變化事件。
callbackAsyncCallback<[CameraStatusInfo]>回調(diào)函數(shù),用于獲取相機狀態(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實例,包括相機ID、位置、類型、連接類型等相機相關(guān)的元數(shù)據(jù)。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。

名稱類型只讀說明
cameraIdstring相機ID。
cameraPosition[CameraPosition]相機位置。
cameraType[CameraType]相機類型。
connectionType[ConnectionType]相機連接類型。

示例:

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

相機管理器回調(diào)返回的接口實例,表示相機狀態(tài)信息。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。

名稱類型說明
camera[Camera]相機信息。
status[CameraStatus]相機狀態(tài)。

CameraInput

相機輸入類。在使用該類的方法前,需要先構(gòu)建一個CameraInput實例。

getCameraId

getCameraId(callback: AsyncCallback): void

異步獲取該CameraInput實例的相機ID,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(diào)函數(shù),用于獲取相機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實例的相機ID,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取相機ID。

示例:

cameraInput.getCameraId().then((cameraId) = > {
    console.log('Promise returned with the camera ID:' + cameraId);
})

hasFlash

hasFlash(callback: AsyncCallback): void

判斷設備是否支持閃光燈,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(diào)函數(shù),返回true表示設備支持閃光燈。

示例:

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

判斷設備是否支持閃光燈,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果,返回true表示設備支持閃光燈。

示例:

cameraInput.hasFlash().then((status) = > {
    console.log('Promise returned with the flash light support status:' + status);
})

isFlashModeSupported

isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void

判斷設備是否支持指定閃光燈模式,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
flashMode[FlashMode]指定閃光燈模式。
callbackAsyncCallback回調(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

判斷設備是否支持指定閃光燈模式,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
flashMode[FlashMode]指定閃光燈模式。

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果,返回true表示設備支持該閃光燈模式。

示例:

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

設置閃光燈模式,通過注冊回調(diào)函數(shù)獲取結(jié)果。

進行設置之前,需要先檢查:

  1. 設備是否支持閃光燈,可使用方法[hasFlash]。
  2. 設備是否支持指定的閃光燈模式,可使用方法[isFlashModeSupported]。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
flashMode[FlashMode]指定閃光燈模式。
callbackAsyncCallback回調(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

設置閃光燈模式,通過Promise獲取結(jié)果。

進行設置之前,需要先檢查:

  1. 設備是否支持閃光燈,可使用方法[hasFlash]。
  2. 設備是否支持指定的閃光燈模式。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
flashMode[FlashMode]指定閃光燈模式。

返回值:

類型說明
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

獲取當前設備的閃光燈模式,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback<[FlashMode]>回調(diào)函數(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

獲取當前設備的閃光燈模式,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise<[FlashMode]>使用Promise的方式獲取當前的閃光燈模式。

示例:

cameraInput.getFlashMode().then((flashMode) = > {
    console.log('Promise returned with current flash mode : ' + flashMode);
})

isFocusModeSupported

isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback): void

判斷設備是否支持指定的焦距模式,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
afMode[FocusMode]指定的焦距模式。
callbackAsyncCallback回調(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

判斷設備是否支持指定的焦距模式,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
afMode[FocusMode]指定的焦距模式。

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果,返回true表示設備支持該焦距模式。

示例:

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

設置焦距模式,通過注冊回調(diào)函數(shù)獲取結(jié)果。

進行設置之前,需要先檢查設備是否支持指定的焦距模式。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
afMode[FocusMode]指定的焦距模式。
callbackAsyncCallback回調(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

設置焦距模式,通過Promise獲取結(jié)果。

進行設置之前,需要先檢查設備是否支持指定的焦距模式,可使用方法[isFocusModeSupported]。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
afMode[FocusMode]指定的焦距模式。

返回值:

類型說明
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

獲取當前設備的焦距模式,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback<[FocusMode]>回調(diào)函數(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

獲取當前設備的焦距模式,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取當前的焦距模式。

示例:

cameraInput.getFocusMode().then((afMode) = > {
    console.log('Promise returned with current focus mode : ' + afMode);
})

getZoomRatioRange

getZoomRatioRange(callback: AsyncCallback>): void

獲取可變焦距比范圍,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback>回調(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>

獲取可變焦距比范圍,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise>使用Promise的方式獲取當前的可變焦距比范圍。

示例:

cameraInput.getZoomRatioRange().then((zoomRatioRange) = > {
    console.log('Promise returned with zoom ratio range: ' + zoomRatioRange.length);
})

setZoomRatio

setZoomRatio(zoomRatio: number, callback: AsyncCallback): void

設置可變焦距比,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
zoomRationumber可變焦距比。
callbackAsyncCallback回調(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

設置可變焦距比,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
zoomRationumber可變焦距比。

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

cameraInput.setZoomRatio(1).then(() = > {
    console.log('Promise returned with the successful execution of setZoomRatio.');
})

getZoomRatio

getZoomRatio(callback: AsyncCallback): void

獲取當前的可變焦距比,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

獲取當前的可變焦距比,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

cameraInput.getZoomRatio().then((zoomRatio) = > {
    console.log('Promise returned with current zoom ratio : ' + zoomRatio);
})

release

release(callback: AsyncCallback): void

釋放相機實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

釋放相機實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
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)變化,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'focusStateChange',即焦距狀態(tài)變化事件。
callbackAsyncCallback<[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的錯誤事件,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'error',即CameraInput錯誤事件。
callbackErrorCallback<[CameraInputError]>回調(diào)函數(shù),用于獲取結(jié)果。

示例:

cameraInput.on('error', (cameraInputError) = > {
    console.log('Camera input error code: ' + cameraInputError.code);
})

CameraInputErrorCode

枚舉,CameraInput的錯誤碼。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
ERROR_UNKNOWN-1未知錯誤。

CameraInputError

CameraInput錯誤對象。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型說明
code[CameraInputErrorCode]CameraInput中的錯誤碼。

FlashMode

枚舉,閃光燈模式。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。

名稱說明
FLASH_MODE_CLOSE0閃光燈關(guān)閉。
FLASH_MODE_OPEN1閃光燈開啟。
FLASH_MODE_AUTO2自動閃光燈。
FLASH_MODE_ALWAYS_OPEN3閃光燈常亮。

FocusMode

枚舉,焦距模式。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。

名稱說明
FOCUS_MODE_MANUAL0手動變焦模式。
FOCUS_MODE_CONTINUOUS_AUTO1連續(xù)自動變焦模式。
FOCUS_MODE_AUTO2自動變焦模式。
FOCUS_MODE_LOCKED3定焦模式。

FocusState

枚舉,焦距狀態(tài)。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core。

名稱說明
FOCUS_STATE_SCAN0掃描狀態(tài)。
FOCUS_STATE_FOCUSED1相機已對焦。
FOCUS_STATE_UNFOCUSED2相機未對焦。

camera.createCaptureSession

createCaptureSession(context: Context, callback: AsyncCallback): void

獲取CaptureSession實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
contextContext應用上下文。
callbackAsyncCallback<[CaptureSession]>回調(diào)函數(shù),用于獲取CaptureSession實例。

示例:

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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
contextContext應用上下文。

返回值:

類型說明
Promise<[CaptureSession]>使用Promise的方式獲取CaptureSession實例。

示例:

camera.createCaptureSession(context).then((captureSession) = > {
    console.log('Promise returned with the CaptureSession instance');
})

CaptureSession

拍照會話類。

beginConfig

beginConfig(callback: AsyncCallback): void

開始配置會話,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

開始配置會話,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

captureSession.beginConfig().then(() = > {
    console.log('Promise returned to indicate the begin config success.');
})

commitConfig

commitConfig(callback: AsyncCallback): void

提交會話配置,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

提交會話配置,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

captureSession.commitConfig().then(() = > {
    console.log('Promise returned to indicate the commit config success.');
})

addInput

addInput(cameraInput: CameraInput, callback: AsyncCallback): void

在當前會話中,添加一個CameraInput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
cameraInput[CameraInput]需要添加的CameraInput實例。
callbackAsyncCallback回調(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

在當前會話中,添加一個CameraInput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
cameraInput[CameraInput]需要添加的CameraInput實例。

返回值:

類型說明
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

在當前會話中,添加一個PreviewOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
previewOutput[PreviewOutput]需要添加的PreviewOutput實例。
callbackAsyncCallback回調(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

在當前會話中,添加一個PreviewOutput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
previewOutput[PreviewOutput]需要添加的PreviewOutput實例。

返回值:

類型說明
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

在當前會話中,添加一個PhotoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
photoOutput[PhotoOutput]需要添加的PhotoOutput實例。
callbackAsyncCallback回調(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

在當前會話中,添加一個PhotoOutput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
photoOutput[PhotoOutput]需要添加的PhotoOutput實例。

返回值:

類型說明
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

在當前會話中,添加一個VideoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
videoOutput[VideoOutput]需要添加的VideoOutput實例。
callbackAsyncCallback回調(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

在當前會話中,添加一個VideoOutput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
videoOutput[VideoOutput]需要添加的VideoOutput實例。

返回值:

類型說明
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

在當前會話中,移除一個CameraInput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
cameraInput[CameraInput]需要移除的CameraInput實例。
callbackAsyncCallback回調(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

在當前會話中,移除一個CameraInput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
cameraInput[CameraInput]需要移除的CameraInput實例。

返回值:

類型說明
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

在當前會話中,移除一個PreviewOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
previewOutput[PreviewOutput]需要移除的PreviewOutput實例。
callbackAsyncCallback回調(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

在當前會話中,移除一個PreviewOutput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
previewOutput[PreviewOutput]需要移除的PreviewOutput實例。

返回值:

類型說明
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

在當前會話中,移除一個PhotoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
photoOutput[PhotoOutput]需要移除的PhotoOutput實例。
callbackAsyncCallback回調(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

在當前會話中,移除一個PhotoOutput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
photoOutput[PhotoOutput]需要移除的PhotoOutput實例。

返回值:

類型說明
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

在當前會話中,移除一個VideoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
videoOutput[VideoOutput]需要移除的VideoOutput實例。
callbackAsyncCallback回調(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

在當前會話中,移除一個VideoOutput實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
videoOutput[VideoOutput]需要移除的VideoOutput實例。

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

captureSession.removeOutput(videoOutput).then(() = > {
    console.log('Promise returned to indicate that the VideoOutput instance is removed.');
})

start

start(callback: AsyncCallback): void

啟動拍照會話,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

啟動拍照會話,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

captureSession.start().then(() = > {
    console.log('Promise returned to indicate the session start success.');
})

stop

stop(callback: AsyncCallback): void

停止拍照會話,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

停止拍照會話,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

captureSession.stop().then(() = > {
    console.log('Promise returned to indicate the session stop success.');
})

release

release(callback: AsyncCallback): void

釋放CaptureSession實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
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)聽拍照會話的錯誤事件,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'error',即拍照會話錯誤事件。
callbackErrorCallback<[CaptureSessionError]>回調(diào)函數(shù),用于獲取錯誤信息。

示例:

captureSession.on('error', (captureSessionError) = > {
    console.log('Capture session error code: ' + captureSessionError.code);
})

CaptureSessionErrorCode

枚舉,拍照會話的錯誤碼。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
ERROR_UNKNOWN-1未知錯誤。

CaptureSessionError

拍照會話錯誤對象。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型說明
code[CaptureSessionError]CaptureSession中的錯誤碼。

camera.createPreviewOutput

createPreviewOutput(surfaceId: string, callback: AsyncCallback): void

獲取PreviewOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
surfaceIdstring從XComponent組件獲取的Surface ID。
callbackAsyncCallback<[PreviewOutput]>回調(diào)函數(shù),用于獲取PreviewOutput實例。

示例:

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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
surfaceIdstring從XComponent組件獲取的Surface ID。

返回值:

類型說明
Promise<[PreviewOutput]>使用Promise的方式獲取結(jié)果。

示例:

camera.createPreviewOutput("surfaceId").then((previewOutput) = > {
    console.log('Promise returned with the PreviewOutput instance');
})

PreviewOutput

預覽輸出類。

release

release(callback: AsyncCallback): void

釋放PreviewOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
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)聽預覽幀啟動,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'frameStart',即幀啟動事件。
callbackAsyncCallback回調(diào)函數(shù),用于獲取結(jié)果。

示例:

previewOutput.on('frameStart', () = > {
    console.log('Preview frame started');
})

on('frameEnd')

on(type: 'frameEnd', callback: AsyncCallback): void

監(jiān)聽預覽幀結(jié)束,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'frameEnd',即幀結(jié)束事件。
callbackAsyncCallback回調(diào)函數(shù),用于獲取結(jié)果。

示例:

previewOutput.on('frameEnd', () = > {
    console.log('Preview frame ended');
})

on('error')

on(type: 'error', callback: ErrorCallback): void

監(jiān)聽預覽輸出的錯誤事件,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'error',即預覽輸出錯誤事件。
callbackErrorCallback<[PreviewOutputErrorCode]>回調(diào)函數(shù),用于獲取錯誤信息。

示例:

previewOutput.on('error', (previewOutputError) = > {
    console.log('Preview output error code: ' + previewOutputError.code);
})

PreviewOutputErrorCode

枚舉,預覽輸出的錯誤碼。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
ERROR_UNKNOWN-1未知錯誤。

PreviewOutputError

預覽輸出錯誤對象。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型說明
code[PreviewOutputErrorCode]PreviewOutput中的錯誤碼。

camera.createPhotoOutput

createPhotoOutput(surfaceId: string, callback: AsyncCallback): void

獲取PhotoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
surfaceIdstring從[ImageReceiver]獲取的Surface ID。
callbackAsyncCallback<[PhotoOutput]>回調(diào)函數(shù),用于獲取PhotoOutput實例。

示例:

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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
surfaceIdstring從[ImageReceiver]獲取的Surface ID。

返回值:

類型說明
Promise<[PhotoOutput]>使用Promise的方式獲取PhotoOutput實例。

示例:

camera.createPhotoOutput("surfaceId").then((photoOutput) = > {
    console.log('Promise returned with PhotoOutput instance');
})

ImageRotation

枚舉,圖片旋轉(zhuǎn)角度。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
ROTATION_00圖片旋轉(zhuǎn)0度。
ROTATION_9090圖片旋轉(zhuǎn)90度。
ROTATION_180180圖片旋轉(zhuǎn)180度。
ROTATION_270270圖片旋轉(zhuǎn)270度。

QualityLevel

枚舉,圖片質(zhì)量。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
QUALITY_LEVEL_HIGH0圖片質(zhì)量高。
QUALITY_LEVEL_MEDIUM1圖片質(zhì)量中等。
QUALITY_LEVEL_LOW2圖片質(zhì)量差。

PhotoCaptureSetting

拍攝照片的設置。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型必填說明
quality[QualityLevel]圖片質(zhì)量。
rotation[ImageRotation]圖片旋轉(zhuǎn)角度。

PhotoOutput

照片輸出類。

capture

capture(callback: AsyncCallback): void

拍照,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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ù)拍照設置拍照,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
setting[PhotoCaptureSetting]拍照設置。
callbackAsyncCallback回調(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ù)拍照設置拍照,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
setting[PhotoCaptureSetting]拍照設置。

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

photoOutput.capture().then(() = > {
    console.log('Promise returned to indicate that photo capture request success.');
})

release

release(callback: AsyncCallback): void

釋放PhotoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
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)聽拍照啟動,通過注冊回調(diào)函數(shù)獲取Capture ID。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'captureStart',即拍照啟動事件。
callbackAsyncCallback使用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)聽快門,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'frameShutter',即幀刷新事件。
callbackAsyncCallback<[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)聽拍照停止,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'captureEnd',即拍照停止事件。
callbackAsyncCallback<[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)聽拍照的錯誤事件,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'error',即拍照錯誤事件。
callbackErrorCallback<[PhotoOutputError]>回調(diào)函數(shù),用于獲取錯誤信息。

示例:

photoOutput.on('error', (photoOutputError) = > {
    console.log('Photo output error code: ' + photoOutputError.code);
})

FrameShutterInfo

快門事件信息。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型必填說明
captureIdnumberCaptureId,本次拍攝動作的ID。
timestampnumber時間戳。

CaptureEndInfo

拍照停止信息。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型必填說明
captureIdnumberCaptureId,本次拍攝動作的ID。
frameCountnumber幀計數(shù)。

PhotoOutputErrorCode

枚舉,拍照輸出的錯誤碼。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱說明
ERROR_UNKNOWN-1未知錯誤。

PhotoOutputError

拍照輸出錯誤對象。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型說明
code[PhotoOutputError]PhotoOutput中的錯誤碼。

camera.createVideoOutput

createVideoOutput(surfaceId: string, callback: AsyncCallback): void

獲取VideoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
surfaceIdstring從VideoRecorder獲取的Surface ID。
callbackAsyncCallback<[VideoOutput]>回調(diào)函數(shù),用于獲取VideoOutput實例。

示例:

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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
surfaceIdstring從VideoRecorder獲取的Surface ID。

返回值:

類型說明
Promise<[VideoOutput]>使用Promise的方式獲取VideoOutput實例。

示例:

camera.createVideoOutput("surfaceId"
).then((videoOutput) = > {
    console.log('Promise returned with the VideoOutput instance');
})

VideoOutput

視頻輸出類。

start

start(callback: AsyncCallback): void

開始拍攝視頻,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

開始拍攝視頻,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

videoOutput.start().then(() = > {
    console.log('Promise returned to indicate that start method execution success.');
})

stop

stop(callback: AsyncCallback): void

停止拍攝視頻,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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

停止拍攝視頻,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
Promise使用Promise的方式獲取結(jié)果。

示例:

videoOutput.start().then(() = > {
    console.log('Promise returned to indicate that stop method execution success.');
})

release

release(callback: AsyncCallback): void

釋放VideoOutput實例,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
callbackAsyncCallback回調(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實例,通過Promise獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

返回值:

類型說明
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)聽視頻幀開啟,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'frameStart',即視頻幀開啟事件。
callbackAsyncCallback回調(diào)函數(shù),用于獲取結(jié)果。

示例:

videoOutput.on('frameStart', () = > {
    console.log('Video frame started');
})

on('frameEnd')

on(type: 'frameEnd', callback: AsyncCallback): void

監(jiān)聽視頻幀結(jié)束,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'frameEnd',即視頻幀結(jié)束事件。
callbackAsyncCallback回調(diào)函數(shù),用于獲取結(jié)果。

示例:

videoOutput.on('frameEnd', () = > {
    console.log('Video frame ended');
})

on('error')

on(type: 'error', callback: ErrorCallback): void

監(jiān)聽視頻輸出的錯誤事件,通過注冊回調(diào)函數(shù)獲取結(jié)果。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

參數(shù):

名稱類型必填說明
typestring監(jiān)聽事件,固定為'error',即視頻輸出錯誤事件。
callbackCallback<[VideoOutputError]>回調(diào)函數(shù),用于獲取錯誤信息。

示例:

videoOutput.on('error', (VideoOutputError) = > {
    console.log('Video output error code: ' + VideoOutputError.code);
})

VideoOutputErrorCode

枚舉,視頻輸出的錯誤碼。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿說明
ERROR_UNKNOWN-1未知錯誤。

搜狗高速瀏覽器截圖20240326151450.png

VideoOutputError

視頻輸出錯誤對象。

系統(tǒng)能力: SystemCapability.Multimedia.Camera.Core

名稱類型說明
code[PhotoOutputError]VideoOutput中的錯誤碼。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8612

    瀏覽量

    151273
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2361

    瀏覽量

    42878
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.audio (音頻管理)】

    音頻管理提供管理音頻的一些基礎(chǔ)能力,包括對音頻音量、音頻設備的管理,以及對音頻數(shù)據(jù)的采集和渲染等。
    的頭像 發(fā)表于 05-31 09:53 ?2552次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.audio (音頻<b class='flag-5'>管理</b>)】

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.image (圖片處理)】

    本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
    的頭像 發(fā)表于 05-31 16:58 ?1457次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.image (圖片處理)】

    鴻蒙原生應用/元服務開發(fā)-延遲任務說明(一)

    ) @ohos.backgroundTaskManager (后臺任務管理) @ohos.multimedia.audio (音頻管理) @ohos
    發(fā)表于 01-16 14:57

    鴻蒙實戰(zhàn)項目開發(fā):【短信服務】

    數(shù)據(jù)管理 電話服務 分布式應用開發(fā) 通知與窗口管理媒體技術(shù) 安全技能 任務管理 WebGL 國際化
    發(fā)表于 03-03 21:29

    【HarmonyOS HiSpark AI Camera試用連載 】鴻蒙系統(tǒng)之媒體子系統(tǒng)初探

    ,子系統(tǒng)雖然底層龐大且盤根錯節(jié),但是,面向應用層,其宗旨(原文)是:旨在為多媒體應用開發(fā)開發(fā)者提供統(tǒng)一的開發(fā)接口,使得
    發(fā)表于 12-23 11:54

    鴻蒙開發(fā)AI應用方案(四)Helloworld

    前言上一篇,我們把編譯和燒錄環(huán)境都搭建好了,這一篇我們來初探一下鴻蒙OS的應用開發(fā)流程。環(huán)境準備距我們上次搭建環(huán)境有段時間了,先來更新一下開發(fā)工具和相關(guān)開源代碼。1. 更新 DevEco
    發(fā)表于 12-24 17:57

    使用AI Camera HarmonyOS開發(fā)板進行拍照和錄像

    一、前言本文主要介紹如何使用鴻蒙官方camera示例代碼,在AI Camera開發(fā)板(Hi3516DV300)上進行拍照和錄像演示,目的為理解鴻蒙
    發(fā)表于 04-01 20:13

    學習指南:如何快速上手媒體生態(tài)一致體驗開發(fā)

    過去開發(fā)者們在使用多媒體能力時,往往會遇到這樣的問題,比如:為什么我開發(fā)相機不如系統(tǒng)相機的效果好?為什么我的應用和其他的音樂一起發(fā)聲了,我
    發(fā)表于 11-17 11:09

    OpenHarmony 3.2 Beta多媒體系列:視頻錄制

    一、簡介 媒體子系統(tǒng)為開發(fā)者提供了媒體相關(guān)的很多功能,本文針對其中的視頻錄制功能做個詳細的介紹。首先,我將通過媒體子系統(tǒng)提供的視頻錄制Test代碼作為切入點,給大家梳理一下整個錄制的流
    的頭像 發(fā)表于 02-15 15:55 ?517次閱讀

    鴻蒙開發(fā)UI界面——@ohos.mediaquery (媒體查詢)

    導入模塊 ? import mediaquery from '@ohos.mediaquery' ? mediaquery.matchMediaSync matchMediaSync
    的頭像 發(fā)表于 02-22 16:46 ?827次閱讀

    鴻蒙實戰(zhàn)開發(fā)Camera組件:【相機

    相機組件支持相機業(yè)務的開發(fā)開發(fā)者可以通過已開放的接口實現(xiàn)相機硬件的訪問、操作和新功能
    的頭像 發(fā)表于 03-08 16:20 ?630次閱讀
    <b class='flag-5'>鴻蒙</b>實戰(zhàn)<b class='flag-5'>開發(fā)</b><b class='flag-5'>Camera</b>組件:【<b class='flag-5'>相機</b>】

    鴻蒙實戰(zhàn)開發(fā):【相機媒體庫】

    在ArkTS中調(diào)用相機拍照和錄像,以及如何使用媒體接口進行媒體文件的增、刪、改、查操作。本示例用到了
    的頭像 發(fā)表于 03-20 16:36 ?805次閱讀
    <b class='flag-5'>鴻蒙</b>實戰(zhàn)<b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>相機</b>和<b class='flag-5'>媒體</b>庫】

    鴻蒙開發(fā)實戰(zhàn):【文件管理

    文件管理相關(guān)的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager]?、[@ohos
    的頭像 發(fā)表于 03-20 21:57 ?684次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>實戰(zhàn):【文件<b class='flag-5'>管理</b>】

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.media (媒體服務)】

    媒體子系統(tǒng)為開發(fā)者提供一套簡單且易于理解的接口,使得開發(fā)者能夠方便接入系統(tǒng)并使用系統(tǒng)的媒體資源。
    的頭像 發(fā)表于 06-06 11:03 ?871次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.media (<b class='flag-5'>媒體</b>服務)】

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.medialibrary (媒體管理)】

    獲取媒體庫的實例,用于訪問和修改用戶等個人媒體數(shù)據(jù)信息(如音頻、視頻、圖片、文檔等)。
    的頭像 發(fā)表于 06-03 11:52 ?1183次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.medialibrary (<b class='flag-5'>媒體</b>庫<b class='flag-5'>管理</b>)】
    主站蜘蛛池模板: 天堂视频网| 色婷婷影院| 丁香六月色婷婷综合网| 免费看很黄很色裸乳视频| 亚洲综合欧美日本另类激情| 4388x17亚洲最大成人网| 天天做天天爽天天谢| 六月天色婷婷| 激情福利网| www.成人在线| 狠狠狠狼鲁欧美综合网免费| 色无五月| 欧美高清milf在线播放| 婷婷丁香六月天| 在线黄色免费网站| 亚洲视频一区二区在线观看| 在线观看视频免费| 黄网在线免费观看| 午夜看片网站| 免费看欧美一级片| 天堂最新版在线地址| 美女黄色一级片| 午夜影院黄| 女主播扒开内衣让粉丝看个够 | 四虎影片国产精品8848| 人人看人人澡| 日本怡红| 色婷婷在线视频观看| 欧美h视频| www五月天com| 欧美成人免费观看bbb| 欧美猛交xxxx乱大交| 国产三级观看久久| 色婷婷综合激情| 国产亚洲3p无码一区二区| 激情文学综合丁香| 亚洲色图偷窥自拍| 天天色天天干天天| 35pao免费视频| aaaaaa精品视频在线观看| 国产叼嘿视频免费网站|