【发布时间】:2012-08-06 03:20:00
【问题描述】:
我刚得到一个 Nexus 7,我正在尝试将一些代码移植到其中。以下行在运行 Ice Cream 的 Xoom 上没有问题:
mCamera.startPreview();
它在 Nexus 7 上也能正常工作,但会记录错误:
E/NvOmxCamera( 126): OMX_ERRORTYPE android::NvOmxCamera::getCameraStereoMode(NvxComponent*, NvOmxCameraUserStereoMode&): Error: invalid NVX mode 0.
E/NvOmxCamera( 126): OMX_ERRORTYPE android::NvOmxCamera::getCameraStereoModeAndCaptureInfo(NvxComponent*, NvOmxCameraUserStereoMode&, NVX_STEREOCAPTUREINFO&): getCameraStereoMode failed with 0x00000000
这是一个问题,因为当我执行该行时,它还会每帧记录一次这些错误
mCamera.takePicture(null, null, null, pictureCallback);
由于我每秒拍摄 10 帧,这让我很不安,所以我想修复错误。我已经浏览了所有来源(android sdk 和 ndk),并且上述错误的文本没有出现在任何地方。我从很多谷歌搜索中相信,这发生在 Nvidia 的 OpenMax 实现中,它似乎与参数“nv-stereo-mode”相关,该参数可能值为“left”、“right”或“stereo” (Nexus 7 只有一个摄像头,所以我不知道为什么它会关心立体摄像头模式,但无论如何)。我尝试将其设置为每个合法值,例如:
mParams = mCamera.getParameters();
mParams.set("nv-stereo-mode", "right");
mCamera.setParameters(mParams);
但是,我的日志说:
E/NvOmxCameraSettingsParser( 126): Skipping non-standard parameter: nv-stereo-mode
这似乎与源文件 nvomxcamerasettingsparser.cpp 有关,我在网络上的任何地方都找不到。我真的不知道从哪里开始,我已经搜索并搜索了所有我能想到的东西,所以任何帮助都会非常感激。
【问题讨论】:
-
不,不走运。但是,我最终重写了代码以使用 MediaRecorder 而不是拍摄单张照片,并使用 H264 而不是一系列 JPEG 流式传输数据。由于我不再拍摄个人照片,因此错误消失了。
-
感谢更新。我仍然面临问题,到目前为止,Nexus 4 后置摄像头没有出现同样的问题,但前置摄像头确实出现了同样的问题。这跟果冻豆的前置摄像头有关系吗??
标签: android android-ndk android-camera nvidia