【问题标题】:The way to freeze the camera preview冻结相机预览的方法
【发布时间】:2011-11-29 00:26:45
【问题描述】:

我使用 Android 类相机在我的应用中实现了一个拍照系统。一切运行良好,但拍照后我想向用户显示预览,让他选择保存图片或取消它。我遇到的问题是预览。预览出现在mCamera.startPreview(); 之后,并且在有或没有mCamera.stopPreview(); 的情况下仅在几秒钟内显示。我会延长显示时间或冻结预览,直到某个特定事件。

有人知道一种方法可以让预览凝固一段时间吗?

谢谢。

【问题讨论】:

标签: android camera android-camera preview


【解决方案1】:

您需要获取拍摄的图像并显示它。

【讨论】:

  • 我发这个问题的时候已经开始用这种方式了。但是,当 Camera 类在每张照片拍摄后为您提供预览时,为什么要使用 ImageView 呢?这就是我发布这个问题的原因。但与此同时,我找到了一种使用相机预览的方法。在事件侦听器 "onPictureTaken" 中,我只是停止相机并且预览停留在屏幕上。要再次拍照,我只是放了一个“重试”按钮以再次运行相机。在这个事件按钮上,我重新启动相机,相机删除预览。拍照和保存的所有操作都运行正常。谢谢。
  • 我有一个设备(运行 android 2.3.3 的华为 U8650),其中方法 camera.stopPreview() 使表面视图完全变黑,而不是冻结图像。我想知道这个问题是否仅发生在此设备上,或者这是一个常见问题。在其他设备上,您提到的方法效果很好。
【解决方案2】:

拍照后预览将停止。但是,停止的预览不一定与实际拍摄的照片相对应。为此,您必须获取图片并通过 ImageView 或类似的方式显示它。

http://developer.android.com/reference/android/hardware/Camera.html#takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback)

此方法仅在预览处于活动状态时有效(之后 开始预览())。拍照后预览将停止; 如果要重新启动,呼叫者必须再次调用 startPreview() 预览或拍摄更多照片。这不应该在之间调用 开始()和停止()。调用此方法后,千万不能调用 startPreview() 或拍摄另一张照片,直到 JPEG 回调有 返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多