1# Camera子系统变更说明 2 3OpenHarmony 4.1.6.1 版本相较于OpenHarmony之前的版本,Camera的API使用权限变更如下。 4 5## cl.camera.1 getSupportedOutputCapability接口变更 6 7**访问级别** 8 9公开接口 10 11**变更原因** 12 13getSupportedOutputCapability用来查询相机设备支持的输出能力,增加入参mode: SceneMode,接口改为查询相机设备在模式下支持的输出能力。 14 15**变更影响** 16 17getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability会在API11版本废弃,保留五个版本。 18API11版本新增getSupportedOutputCapability(camera: CameraDevice, mode: SceneMode): CameraOutputCapability。 19 20**关键的接口/组件变更** 21 22- 涉及接口 23 24 getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability 25 26- 变更前: 27 28 入参只有相机设备camera: CameraDevice。 29 30- 变更后: 31 32 增加入参相机模式mode: SceneMode。 33 34**适配指导** 35 36先通过API11新增接口getSupportedSceneModes(camera: CameraDevice): Array\<SceneMode\>, 来获取相机设备对象支持的模式,再通过新增getSupportedOutputCapability(camera: CameraDevice, mode: SceneMode): CameraOutputCapability接口,查询相机设备在模式下支持的输出能力。 37 38**API Level** 39 4011 41 42**变更发生版本** 43 44从OpenHarmony SDK 4.1.6.3开始。 45 46## cl.camera.2 createPhotoOutput接口变更 47 48**访问级别** 49 50公开接口 51 52**变更原因** 53 54createPhotoOutput用来创建拍照输出对象,删除入参surfaceId: string,接口改为只通过拍照配置信息创建拍照输出对象。 55 56**变更影响** 57 58createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput会在API11版本废弃,保留五个版本。 59API11版本新增createPhotoOutput(profile: Profile): PhotoOutput。 60 61**关键的接口/组件变更** 62 63- 涉及接口 64 65 createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput 66 67- 变更前: 68 69 入参包含支持的拍照配置信息profile以及从ImageReceiver获取的surfaceId。 70 71- 变更后: 72 73 入参只有支持的拍照配置信息profile。 74 75**适配指导** 76 77先通过API11新增接口createPhotoOutput(profile: Profile): PhotoOutput, 来创建拍照输出对象。 78 79**API Level** 80 8111 82 83**变更发生版本** 84 85从OpenHarmony SDK 4.1.6.3开始。 86 87## cl.camera.3 createCaptureSession接口变更 88 89**访问级别** 90 91公开接口 92 93**变更原因** 94 95createCaptureSession用来创建CaptureSession实例,API11后,Session通过模式进行区分,分为PhotoSession和VideoSession,通过API11新增接口createSession\<T extends Session\>(mode: SceneMode): T进行创建。 96 97**变更影响** 98 99createCaptureSession(): CaptureSession会在API11版本废弃,保留五个版本。 100API11版本新增createSession\<T extends Session\>(mode: SceneMode): T。 101 102**关键的接口/组件变更** 103 104- 涉及接口 105 106 createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput 107 108- 变更前: 109 110 通过createCaptureSession(): CaptureSession创建CaptureSession实例。 111 112- 变更后: 113 114 通过createSession\<T extends Session\>(mode: SceneMode): T创建对应模式的Session。 115 116**适配指导** 117 118通过API11新增接口createSession\<T extends Session\>(mode: SceneMode): T创建对应模式的Session。 119 120**API Level** 121 12211 123 124**变更发生版本** 125 126从OpenHarmony SDK 4.1.6.3开始。 127 128## cl.camera.4 CaptureSession接口变更 129 130**访问级别** 131 132公开接口 133 134**变更原因** 135 136CaptureSession用来保存一次相机运行所需要的所有资源CameraInput、CameraOutput,并向相机设备申请完成相机功能(录像,拍照)的会话类。 137 138**变更影响** 139 140CaptureSession以及包含的接口会在API11版本废弃,保留五个版本。 141API11版本新增PhotoSession和VideoSession区分录像会话和拍照会话。 142 143**关键的接口/组件变更** 144 145- 涉及接口 146 147 CaptureSession 148 149- 变更前: 150 151 通过createCaptureSession(): CaptureSession创建CaptureSession实例。 152 153- 变更后: 154 155 通过createSession\<T extends Session\>(mode: SceneMode): T创建录像会话和拍照会话对应模式的Session。 156 157**适配指导** 158 159通过API11新增接口PhotoSession对应拍照模式会话,VideoSession对应录像模式会话。 160 161**API Level** 162 16311 164 165**变更发生版本** 166 167从OpenHarmony SDK 4.1.6.3开始。 168 169## cl.camera.5 PreviewOutput类start与stop接口变更 170 171**访问级别** 172 173公开接口 174 175**变更原因** 176 177PreviewOutput作为相机的预览输出,和会话保持一致,因此会话中的开始与停止操作,可以包含预览输出的开始与停止操作,因此PreviewOutput中的start与stop操作,在API11版本合并至Session的start与stop操作中。 178 179**变更影响** 180 181PreviewOutput接口包含的start与stop接口会在API11版本废弃,保留五个版本,合并至Session的start与stop操作中。 182 183**关键的接口/组件变更** 184 185- 涉及接口 186 187 PreviewOutput类start与stop 188 189- 变更前: 190 191 interface PreviewOutput extends CameraOutput 192 start(callback: AsyncCallback\<void\>): void 193 start(): Promise\<void\> 194 stop(callback: AsyncCallback\<void\>): void 195 stop(): Promise\<void\> 196 197- 变更后: 198 199 合并至PhotoSession或VideoSession的start和stop接口。 200 201**适配指导** 202 203无需适配,通过API11新增的PhotoSession或VideoSession的start和stop接口,或是CaptureSession的start和stop接口,即可执行PreviewOutput类的start和stop接口。 204 205## cl.camera.6 captureStart注册监听与解除注册监听接口变更 206 207**API Level** 208 20911 210 211**变更发生版本** 212 213从OpenHarmony SDK 4.1.6.3开始。 214 215**访问级别** 216 217公开接口 218 219**变更原因** 220 221captureStart注册监听与解除注册监听接口用来监听拍照开始,通过注册回调函数获取Capture ID,在API11版本中,captureStart事件会返回更多的信息,相关回调无法获取更多信息。 222 223**变更影响** 224 225captureStart注册监听与解除注册监听接口以及包含的接口会在API11版本废弃,保留五个版本。 226API11版本新增captureStartInfo注册监听与解除注册监听接口。回调数据为CaptureStartInfo结构体,可扩展性获取更多信息 227 228**关键的接口/组件变更** 229 230- 涉及接口 231 232 on(type: 'captureStart', callback: AsyncCallback\<number\>): void 233 off(type: 'captureStart', callback?: AsyncCallback\<number\>): void 234 235- 变更前: 236 237 通过captureStart注册监听与解除注册监听接口用来监听拍照开始,通过注册回调函数获取Capture ID。 238 239- 变更后: 240 241 新增CaptureStartInfo结构体,可扩展性获取更多信息 242 新增on(type: 'captureStartWithInfo', callback: AsyncCallback\<CaptureStartInfo\>): void 243 新增off(type: 'captureStartWithInfo', callback?: AsyncCallback\<CaptureStartInfo\>): void 244 245**适配指导** 246 247通过API11新增captureStartInfo注册监听与解除注册监听接口获取CaptureStartInfo。 248 249**API Level** 250 25111 252 253**变更发生版本** 254 255从OpenHarmony SDK 4.1.6.3开始。 256