gpt4 book ai didi

Android 相机预览颜色问题(红色和蓝色交换)

转载 作者:太空狗 更新时间:2023-10-29 13:56:30 30 4
gpt4 key购买 nike

在 Android 上使用 GLSurfaceView 渲染相机预览时,我观察到一个奇怪的视觉故障。

红色和蓝色似乎在相机预览源中交换了 - 绿色看起来还不错。请参阅下面的屏幕截图。

enter image description here

我只在少数设备(Samsung Galaxy S4 的所有变体)上看到这个问题。

只有在使用特定分辨率时才会出现故障 - 720x960 以上没有问题,低于此分辨率的任何分辨率都会出现问题(例如 640x480)。

问题出现在前置和后置摄像头上。

通过像这样更改 CameraCaptureActivity.java 的第 185 行,该问题可在 Grafika 示例应用程序(假设您手边有三星 Galaxy S4)中重现:

    // openCamera(1280, 720);      // change this ...
openCamera(640, 480); // to this

我需要以 640x480 编码 H264。我认为我可以通过使用更高的分辨率(相同的纵横比)来解决这个问题,但仍然将我的编码器设置为以 640x480 运行 - 不幸的是,这会导致可怕的 block 状视频输入,大概是由于重新采样。

最佳答案

根据反复试验(以及找到的线索 in this answerhere ),我发现这是由于打开录音提示功能引起的:

    params.setRecordingHint(true); // this causes the problem

我也有一些宽高比问题,通过关闭它解决了。因此,三星似乎在驱动程序或硬件级别搞砸了 setRecordingHint 功能。

有趣的是,如果设置未记录的“video-size”值,那么我可以解决问题并保持 setRecordingHint 开启。

    params.set("video-size", "640x480");

与以下内容相比,我不知道这是在做什么:

    params.setPreviewSize(640, 480);

    params.setPictureSize(640, 480);

但显然它正在产生影响。然而,由于这似乎没有记录并且关闭 setRecordingHint 似乎对性能没有任何影响 - 我认为禁用 setRecordingHint。

关于Android 相机预览颜色问题(红色和蓝色交换),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39229239/

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