這裏是Android編程的新手。camera.setPreviewDisplay(SurfaceHolder)上的例外
我看了一下,發現這是一個常見問題,但我真的沒有看到一個簡單的解決方案...我試圖在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();
}
}
}
}
任何想法的人?感謝您的幫助!
發佈logcat的。 – 2013-03-18 03:05:50
你可以發佈你的'SurfaceHolder.Callback'實現嗎? – Geros 2013-03-18 03:13:34
它不再崩潰,但我在try/catch中放了一個toast來顯示錯誤,並且我得到java.lang.NullPointerException。不知道這是否有幫助...乾杯! – Losman90 2013-03-18 03:19:28