Android 编程新手在这里。
我环顾四周,发现这是一个常见问题,但我真的没有看到一个简单的解决方法......我正在尝试在 Nexus 7 上运行以下代码(尝试过 AVD 和物理设备)没有任何运气。它似乎是:
camera.setPreviewDisplay(SurfaceHolder);
但我可能是错的。这是当前代码:
public class MainActivity extends Activity implements SurfaceHolder.Callback{
Camera camera;
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean previewing = false;;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cameralayout);
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
}
public void onClick() {
// TODO Auto-generated method stub
if(!previewing){
camera = Camera.open();
if (camera != null){
try {
camera.setPreviewDisplay(surfaceHolder);
camera.startPreview();
previewing = true;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
有什么想法吗?谢谢您的帮助!