gpt4 book ai didi

android - 在 Android Galaxy S3 上访问前置摄像头时遇到问题

转载 作者:行者123 更新时间:2023-11-29 21:58:44 25 4
gpt4 key购买 nike

我一直在开发一个使用前置摄像头的小应用程序。我使用前置摄像头的方式似乎适用于大多数手机,但用户一直在报告 S3 和其他各种新设备出现问题。我访问前置摄像头的方式是这样的:

// Find the ID of the front camera
CameraInfo cameraInfo = new CameraInfo();
for(int i = 0; i < numberOfCameras; i++) {
Camera.getCameraInfo(i, cameraInfo);
if(cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) {
defaultCameraId = i;
mCameraFound = true;
}
}
if(!mCameraFound)
displayDialog(8);

从我添加到应用程序中的一些错误报告中,我注意到 S3 实际上找到了前置摄像头,但用户报告它只显示空白屏幕?我只能在我拥有的设备(GNex 和 N7)上进行测试。我希望这里有人可能对此有一些经验,或者可以帮助我解决这个问题。如果您想在 S3 上试用该应用程序,请查看下面的链接。提前致谢。

https://play.google.com/store/apps/details?id=com.wckd_dev.mirror

编辑:我创建了一个 MirrorView 对象,其中包含一个用于预览的 TextureView。 MirrorView 对象实现 SurfaceTextureListener。在 onSurfaceTextureAvailable() 方法中是开始预览的地方。我还创建了一种方法,用于在应用从隐藏状态恢复为可见状态后重新启动预览。

因此在应用首次启动时调用:

    @Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
try {
if (mCamera != null) {

Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(mPreviewSize.height, mPreviewSize.width);
requestLayout();

mCamera.setParameters(parameters);
mCamera.setPreviewTexture(surface);
mCamera.startPreview();
}
}
catch(RuntimeException e) {
// Log.e(TAG, "RuntimeException caused by setPreviewTexture()", exception);
}
catch (IOException e) {
// Log.e(TAG, "IOException caused by setPreviewTexture()", exception);
}
}

restartPreview 调用是针对相同(但独立)的方法。从我通过用户收集的一些调试数据中,我注意到该应用在 S III 上找到了两个摄像头并选择了与 CAMERA_FACING_FRONT 匹配的 ID。此外,此问题似乎并未发生在所有 S III 上。我的用户也有同样多的反馈报告。遇到此问题的用户的最新报告是 AT&T S III 用户。任何帮助将不胜感激!

最佳答案

今晚与我的应用程序遇到此问题的 S3 进行了会面。这是怎么回事。 TextureView 依赖于 2d 硬件加速,默认情况下(根据我的理解)应该在 4.0+ 设备上打开。它没有在他的手机上打开(至少对于我的应用程序)。修复就像在 list 中添加一行一样简单(在申请中)。

android:hardwareAcceleration = "true"

关于android - 在 Android Galaxy S3 上访问前置摄像头时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12503022/

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