我刚买了一个Nexus 7我试图将一些代码移植到.以下行在运行Ice Cream的Xoom上没有问题:
mCamera.startPreview();
Run Code Online (Sandbox Code Playgroud)
它也可以在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
Run Code Online (Sandbox Code Playgroud)
这是一个问题,因为当我执行该行时,它还会每帧记录一次这些错误
mCamera.takePicture(null, null, null, pictureCallback);
Run Code Online (Sandbox Code Playgroud)
因为我每秒需要10帧,所以这让我感到不安,所以我想修复错误.我已经浏览了所有的源代码(android sdk和ndk),上述错误的文本没有出现在任何地方.我相信很多谷歌搜索都发生在Nvidia的OpenMax实现中,它似乎与参数"nv-stereo-mode"有关,它具有"左","右"或"立体声"的可能值. (Nexus 7只有一个摄像头,所以我不知道它为什么会关心立体摄像机模式,但无论如何).我尝试将其设置为每个合法值,例如:
mParams = mCamera.getParameters();
mParams.set("nv-stereo-mode", "right");
mCamera.setParameters(mParams);
Run Code Online (Sandbox Code Playgroud)
但是,我的日志说:
E/NvOmxCameraSettingsParser( 126): Skipping non-standard parameter: nv-stereo-mode
Run Code Online (Sandbox Code Playgroud)
这似乎与源文件nvomxcamerasettingsparser.cpp有关,我无法在网络上的任何地方找到它.我真的不知道从哪里开始,我已经用我想到的所有内容进行了搜索和搜索,所以任何帮助都会有很大的帮助.