1
Androidサーフェイスのカメラのプレビューを表示するクラスを作成しようとしています。私は次のコードを試しました。しかし、プレビューは表示されません。私はパラメータを変更しようとしましたが、運はありませんでした。私はlogcatを通過しました。何も表示されず、エラーも警告も表示されません。黒い画面のみが表示されます。アプリはクラッシュしません。Androidカメラの画像プレビューが正しくありません
public class Preview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder holder;
private Camera camera;
public Preview(Context context, Camera camera) {
super(context);
this.camera = camera;
holder = getHolder();
holder.addCallback(this);
holder.setFixedSize(50, 50);
}
public void surfaceCreated(SurfaceHolder holder) {
try {
camera.setPreviewDisplay(holder);
camera.startPreview();
} catch (IOException e) {
Log.d("error", "Can't set camera preview: " + e.getMessage());
}
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
if (this.holder.getSurface() == null) {
return;
}
try {
camera.stopPreview();
} catch (Exception e) {
}
try {
camera.setPreviewDisplay(this.holder);
camera.startPreview();
} catch (Exception e) {
Log.d("DG_DEBUG", "Error starting camera preview: " + e.getMessage());
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
}
}