From cd63c57eb550641dbfe0a39d82d63ef2cdcd6d2a Mon Sep 17 00:00:00 2001 From: huangxiaoyao <976125628@qq.com> Date: Tue, 12 Nov 2024 14:55:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9camera=E5=89=8D=E7=BD=AE?= =?UTF-8?q?=E6=91=84=E5=83=8F=E5=A4=B4=E5=BD=95=E5=88=B6=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E9=A2=A0=E5=80=92=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huangxiaoyao <976125628@qq.com> --- .../camera/camera_ohos/example/ohos/entry/oh-package.json5 | 4 ---- packages/camera/camera_ohos/example/ohos/oh-package.json5 | 7 +------ packages/camera/camera_ohos/example/pubspec.yaml | 2 -- .../ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets | 5 ++++- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/packages/camera/camera_ohos/example/ohos/entry/oh-package.json5 b/packages/camera/camera_ohos/example/ohos/entry/oh-package.json5 index 32f7e89e5..078610f17 100644 --- a/packages/camera/camera_ohos/example/ohos/entry/oh-package.json5 +++ b/packages/camera/camera_ohos/example/ohos/entry/oh-package.json5 @@ -6,9 +6,5 @@ "author": "", "license": "", "dependencies": { - "integration_test": "file:..\\har\\integration_test.har", - "camera_ohos": "file:..\\har\\camera_ohos.har", - "path_provider_ohos": "file:..\\har\\path_provider_ohos.har", - "video_player_ohos": "file:..\\har\\video_player_ohos.har" } } \ No newline at end of file diff --git a/packages/camera/camera_ohos/example/ohos/oh-package.json5 b/packages/camera/camera_ohos/example/ohos/oh-package.json5 index 4a28d3a1b..8f72a6f6c 100644 --- a/packages/camera/camera_ohos/example/ohos/oh-package.json5 +++ b/packages/camera/camera_ohos/example/ohos/oh-package.json5 @@ -13,11 +13,6 @@ "@ohos/hypium": "1.0.6" }, "overrides": { - "@ohos/flutter_ohos": "file:./har/flutter.har", - "integration_test": "file:./har/integration_test.har", - "camera_ohos": "file:./har/camera_ohos.har", - "path_provider_ohos": "file:./har/path_provider_ohos.har", - "video_player_ohos": "file:./har/video_player_ohos.har", - "@ohos/flutter_module": "file:./entry" + "@ohos/flutter_ohos": "file:./har/flutter.har" } } \ No newline at end of file diff --git a/packages/camera/camera_ohos/example/pubspec.yaml b/packages/camera/camera_ohos/example/pubspec.yaml index c52a6f518..2114fd20c 100644 --- a/packages/camera/camera_ohos/example/pubspec.yaml +++ b/packages/camera/camera_ohos/example/pubspec.yaml @@ -48,8 +48,6 @@ dev_dependencies: sdk: flutter flutter_test: sdk: flutter - integration_test: - sdk: flutter flutter: uses-material-design: true diff --git a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets index 909904bde..ac26d2819 100644 --- a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets +++ b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets @@ -55,6 +55,7 @@ import systemDateTime from '@ohos.systemDateTime'; import photoAccessHelper from '@ohos.file.photoAccessHelper'; import { picker } from '@kit.CoreFileKit'; import { DeviceOrientation } from '@ohos/flutter_ohos/src/main/ets/embedding/engine/systemchannels/PlatformChannel'; +import display from '@ohos.display'; const TAG = "Camera"; @@ -758,13 +759,15 @@ export class Camera implements CameraCaptureStateListener { let videoUri: string = getContext(this).cacheDir + '/REC' + Date.now().toString() + '.mp4'; this.captureFile = fs.openSync(videoUri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); let fd = this.captureFile.fd; + let displayRotation = display.getDefaultDisplaySync().rotation; + let previewRotation = this.previewOutput?.getPreviewRotation(displayRotation); // 当前录像配置 let aVRecorderConfig: media.AVRecorderConfig = { audioSourceType: media.AudioSourceType.AUDIO_SOURCE_TYPE_MIC, videoSourceType: media.VideoSourceType.VIDEO_SOURCE_TYPE_SURFACE_YUV, profile: this.aVRecorderProfile, url: `fd://${fd}`, - rotation: 90, // 90°为默认竖屏显示角度,如果由于设备原因或应用期望以其他方式显示等原因,请根据实际情况调整该参数 + rotation: previewRotation, }; await this.avRecorder.prepare(aVRecorderConfig).then(async () => { this.videoId = await this.avRecorder?.getInputSurface(); -- Gitee