HarmonyOS cameraKit咨询?

在app切换前后台时,切换到后台时将photoSession释放,无报错信息,切回前台重新init,不生效。

在66版本上功能正常,在72版本功能失效。也尝试在切换前后台时调用stop()和start,均未生效。

阅读 477
1 个回答

因为当应用被切换到后台后,相机资源会被全部回收,所以为了避免出现前后台切换后预览流黑屏的问题,需在onPageShow中进行重新创建会话、配置会话、启动等操作,并在onPageHide中对相机资源进行销毁;

可参考以下:

/**
 * 自定义拍照
 */
@Entry
@Component
struct CameraDemoPage {
  ......

  async onPageShow() {
    let baseContext = getContext() as common.BaseContext;
    await this.initCamera(baseContext, this.surfaceId);
  }

  async onPageHide() {
    await this.releaseCamera();
  }
  ......
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进