提交 4c241029 编写于 作者: Q qinliwen

<修复cameraVideo和cameraPreviewFormat切换format问题>

Signed-off-by: Nqinliwen <qinliwen3@huawei.com>
上级 9bdddb64
...@@ -79,7 +79,7 @@ struct cameraOrientation { ...@@ -79,7 +79,7 @@ struct cameraOrientation {
async cameraInit(obj?) { async cameraInit(obj?) {
CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, obj, this.clickFrequency).then(() => { CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, obj, this.clickFrequency).then(() => {
this.resolution = CameraService.previewSizeResolution this.resolution = CameraService.photoResolution
this.resolutionSelectVal = String(this.resolution[this.clickFrequency].value) this.resolutionSelectVal = String(this.resolution[this.clickFrequency].value)
this.cameraListFn() this.cameraListFn()
}) })
......
...@@ -63,7 +63,7 @@ struct cameraFormat { ...@@ -63,7 +63,7 @@ struct cameraFormat {
} }
async cameraInit(obj?) { async cameraInit(obj?) {
CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, obj).then(() => { CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, undefined, undefined, obj).then(() => {
this.resolution = CameraService.resolution this.resolution = CameraService.resolution
this.resolutionSelectVal = String(this.resolution[this.clickFrequency].value) this.resolutionSelectVal = String(this.resolution[this.clickFrequency].value)
this.cameraListFn() this.cameraListFn()
...@@ -170,7 +170,7 @@ struct cameraFormat { ...@@ -170,7 +170,7 @@ struct cameraFormat {
"height": objH "height": objH
} }
} }
CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, obj) CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, undefined, undefined, obj)
Logger.info(this.tag, `onSelect Rotation index: ${index}, value: ${value}, obj: ${obj}`) Logger.info(this.tag, `onSelect Rotation index: ${index}, value: ${value}, obj: ${obj}`)
}) })
.backgroundColor(Color.Black) .backgroundColor(Color.Black)
......
...@@ -105,8 +105,8 @@ struct cameraOrientation { ...@@ -105,8 +105,8 @@ struct cameraOrientation {
} }
async cameraInit(obj?) { async cameraInit(obj?) {
CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, obj).then(() => { CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex).then(() => {
this.resolution = CameraService.resolution this.resolution = CameraService.videoResolution
this.resolutionSelectVal = String(this.resolution[this.clickFrequency].value) this.resolutionSelectVal = String(this.resolution[this.clickFrequency].value)
this.cameraListFn() this.cameraListFn()
}) })
...@@ -199,7 +199,7 @@ struct cameraOrientation { ...@@ -199,7 +199,7 @@ struct cameraOrientation {
"height": objH "height": objH
} }
} }
CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex, obj) CameraService.initCamera(this.surfaceId, this.cameraDeviceIndex)
Logger.info(this.tag, `onSelect Rotation index: ${index}, value: ${value}, obj: ${obj}`) Logger.info(this.tag, `onSelect Rotation index: ${index}, value: ${value}, obj: ${obj}`)
}) })
.backgroundColor(Color.Black) .backgroundColor(Color.Black)
......
...@@ -77,7 +77,8 @@ class CameraService { ...@@ -77,7 +77,8 @@ class CameraService {
} }
private videoOutputStopBol: boolean = true private videoOutputStopBol: boolean = true
resolution: any = null resolution: any = null
previewSizeResolution: any = null photoResolution: any = null
videoResolution: any = null
constructor() { constructor() {
try { try {
...@@ -132,7 +133,7 @@ class CameraService { ...@@ -132,7 +133,7 @@ class CameraService {
} }
} }
async initCamera(surfaceId: number, cameraDeviceIndex: number, obj?, photoIndex?) { async initCamera(surfaceId: number, cameraDeviceIndex: number, obj?, photoIndex?, previewObj?) {
try { try {
if (deviceInfo.deviceType === 'default') { if (deviceInfo.deviceType === 'default') {
this.videoConfig.videoSourceType = 1 this.videoConfig.videoSourceType = 1
...@@ -140,12 +141,13 @@ class CameraService { ...@@ -140,12 +141,13 @@ class CameraService {
this.videoConfig.videoSourceType = 0 this.videoConfig.videoSourceType = 0
} }
Logger.info(this.tag, `cameraDeviceIndex success: ${cameraDeviceIndex}`) Logger.info(this.tag, `cameraDeviceIndex success: ${cameraDeviceIndex}`)
previewObj.format = this.cameraOutputCapability.previewProfiles[0].format
Logger.info(this.tag, `previewObj format: ${previewObj.format}`)
await this.releaseCamera() await this.releaseCamera()
await this.getCameraManagerFn() await this.getCameraManagerFn()
await this.getSupportedCamerasFn() await this.getSupportedCamerasFn()
await this.getSupportedOutputCapabilityFn(cameraDeviceIndex) await this.getSupportedOutputCapabilityFn(cameraDeviceIndex)
// await this.createPreviewOutputFn(obj ? obj : this.photoProfileObj, surfaceId) await this.createPreviewOutputFn(previewObj ? previewObj : this.cameraOutputCapability.previewProfiles[0], surfaceId)
await this.createPreviewOutputFn(this.cameraOutputCapability.previewProfiles[0], surfaceId)
// await this.createPhotoOutputFn(this.photoProfileObj) // await this.createPhotoOutputFn(this.photoProfileObj)
await this.createPhotoOutputFn(obj ? obj : this.cameraOutputCapability.photoProfiles[photoIndex?photoIndex:0]) await this.createPhotoOutputFn(obj ? obj : this.cameraOutputCapability.photoProfiles[photoIndex?photoIndex:0])
await this.createCameraInputFn(this.cameras[cameraDeviceIndex]) await this.createCameraInputFn(this.cameras[cameraDeviceIndex])
...@@ -441,8 +443,9 @@ class CameraService { ...@@ -441,8 +443,9 @@ class CameraService {
this.cameraOutputCapability = this.cameraManager.getSupportedOutputCapability(this.cameras[cameraDeviceIndex]) this.cameraOutputCapability = this.cameraManager.getSupportedOutputCapability(this.cameras[cameraDeviceIndex])
let previewSize = [] let previewSize = []
let photoSize = [] let photoSize = []
let videoSize = []
this.cameraOutputCapability.previewProfiles.forEach((item, index) => { this.cameraOutputCapability.previewProfiles.forEach((item, index) => {
// Logger.info(this.tag, `cameraOutputCapability previewProfiles index: ${index}, item:` + JSON.stringify(item)) Logger.info(this.tag, `cameraOutputCapability previewProfiles index: ${index}, item:` + JSON.stringify(item))
previewSize.push({ previewSize.push({
value: `${item.size.width}x${item.size.height}` value: `${item.size.width}x${item.size.height}`
}) })
...@@ -453,12 +456,19 @@ class CameraService { ...@@ -453,12 +456,19 @@ class CameraService {
value: `${item.size.width}x${item.size.height}` value: `${item.size.width}x${item.size.height}`
}) })
}) })
this.cameraOutputCapability.videoProfiles.forEach((item, index) => {
Logger.info(this.tag, `cameraOutputCapability videoProfiles index: ${index}, item:` + JSON.stringify(item))
videoSize.push({
value: `${item.size.width}x${item.size.height}`
})
})
Logger.info(this.tag, `cameraOutputCapability previewProfiles:` + JSON.stringify(this.cameraOutputCapability.previewProfiles)) Logger.info(this.tag, `cameraOutputCapability previewProfiles:` + JSON.stringify(this.cameraOutputCapability.previewProfiles))
Logger.info(this.tag, `cameraOutputCapability photoProfiles:` + JSON.stringify(this.cameraOutputCapability.photoProfiles)) Logger.info(this.tag, `cameraOutputCapability photoProfiles:` + JSON.stringify(this.cameraOutputCapability.photoProfiles))
Logger.info(this.tag, `cameraOutputCapability videoProfiles:` + JSON.stringify(this.cameraOutputCapability.videoProfiles)) Logger.info(this.tag, `cameraOutputCapability videoProfiles:` + JSON.stringify(this.cameraOutputCapability.videoProfiles))
Logger.info(this.tag, `cameraOutputCapability previewProfiles previewSize:` + JSON.stringify(previewSize)) Logger.info(this.tag, `cameraOutputCapability previewProfiles previewSize:` + JSON.stringify(previewSize))
this.resolution = previewSize this.resolution = previewSize
this.previewSizeResolution = photoSize this.photoResolution = photoSize
this.videoResolution = videoSize
return previewSize return previewSize
} }
// 释放会话及其相关参数 // 释放会话及其相关参数
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册