gpt4 book ai didi

android - 如果在 S4 设备上使用闪存,则自定义相机 PictureCallback 不会运行

转载 作者:行者123 更新时间:2023-11-29 00:16:10 25 4
gpt4 key购买 nike

我写了一个基本的自定义相机,我最近更改为使用设备上的闪光灯(如果可用)。进行更改后,代码在我的 HTC One Mini 2 上运行正常,但不再适用于我的 Galaxy S4。逐步完成后,我发现我的 jpeg 回调在 S4 上从未达到,而是运行原始回调,但提供了空字节 []。

我发现了这个类似的问题: S4 Flash Problem

这似乎证实了这些设备上存在问题和解决方案,但尚未记录解决方案。

重申一下,代码在 S4 上运行良好,只要我不使用以下方式打开闪光灯:

Camera.Parameters p = mCamera.getParameters();
p.setFlashMode(Camera.Parameters.FLASH_MODE_AUTO);//Or FLASH_MODE_ON
mCamera.setParameters(p);

任何有使用这些设备经验的人都可以提供解决方案吗?

最佳答案

在上周的大量试验和错误之后,我偶然发现了这个问题的两种可能的解决方案,第一种对我来说根本没有任何意义:

  1. 强制缩放大于 x1。出于某种原因,如果我将变焦设置为 x1.2 等,相机会像我预期的那样再次工作。

  2. 确保所选图片尺寸的纵横比与设备的原始纵横比相匹配。 S4 的分辨率为 1920x1080,因此任何符合此 16:9 比例的图片尺寸都可以在闪光灯打开的情况下使用。这更有意义,但我不知道为什么闪光灯会有所不同,以及为什么 getSupportedPictureSizes() 应该返回任何不受支持的东西(尽管它们似乎确实没有闪光灯。)

目前我选择使用选项 2 并正在我的其他设备上进行测试。可能还值得一提的是,我在 S4 上的下一步是允许用户自己打开/关闭/自动打开闪光灯,但这需要每次都破坏并重新创建相机。

关于android - 如果在 S4 设备上使用闪存,则自定义相机 PictureCallback 不会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26734522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com