相机和Android版本有问题。 我尝试获取Android Camera flow支持的预览尺寸,如下所示:
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
mCamera = Camera.open();
mSupportedPreviewSizes = mCamera.getParameters()
.getSupportedPreviewSizes();
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException exception) {
mCamera.release();
mCamera = null;
}
}
我尝试使用模拟器(Android 2.2 SDK&& Android 2.1 SDK)在2个Android版本上测试我的代码 在Emulator中配置两个版本的Android,如下所示:
Skin : HVGA
Abstracted LCD density : 160
我的问题: 当我在模拟器上运行我的应用程序 - 2.2 SDK:好的 - 好的 但是当我在Emulator上运行时 - 2.1 SDK:有一个问题“mCamera.getParameters()。getSupportedPreviewSizes()return is NULL”
如果你知道的话,请帮助我! 非常非常感谢..........很多....
答案 0 :(得分:2)
Google将此列为缺陷,我认为这意味着有计划修复它: http://code.google.com/p/android/issues/detail?id=6271
我在一些运行android的硬件设备上遇到过这种情况,一直到4.0。到目前为止,我唯一能做的就是处理getSupportedPreviewSizes()返回null的情况。它并不总是发生在我身上,所以如果我发现这已经发生了,我通常会破坏并重新实例化我的预览表面和相机。
答案 1 :(得分:1)
你应该在Camera.unlock()之前和Camera.lock()之后调用getSupportedPreviewSizes()