为了预览相机,我在下面编写了代码段。我无法预览。你能帮我解决一下这个问题吗?
我已使用权限配置我的应用程序;
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
我创建了表面场所
<SurfaceView
android:id="@+id/cameraView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
我在下面编写代码段来预览相机;
public class MainActivity extends Activity {
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView)findViewById(R.id.cameraView);
surfaceHolder = surfaceView.getHolder();
}
private void preview ( ) {
try {
camera.setPreviewDisplay(surfaceHolder);
camera.startPreview();
} catch ( IOException void_) {
;
}
}
答案 0 :(得分:1)
您可以使用..
从相机捕捉图像请逐步阅读本文解决方案,我发现这非常有帮助
如果你有任何麻烦,请告诉我,我已经完成了
修改强>
您可以使用管理员政策停用相机
使用示例代码检查official document here this文章也可以帮助你
答案 1 :(得分:0)
在4.0之前,Google提供的Android SDK除了支持动画外不提供任何相机模拟。由于Google还没有提供有效的实施方案(甚至是可用的日期)。
有一些链接可以帮助您实现您的要求。 请参阅this和this链接。
希望它可以帮助你:)
答案 2 :(得分:0)
为摄影机预览实现此类,并在活动的oncreate方法中调用其构造函数。
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mSurfaceHolder;
private Camera mCamera;
@SuppressWarnings("deprecation")
public CameraPreview(Context context, Camera camera) {
super(context);
this.mCamera = camera;
this.mSurfaceHolder = this.getHolder();
this.mSurfaceHolder.addCallback(this);
this.mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder surfaceHolder) {
try {
mCamera.setPreviewDisplay(surfaceHolder);
mCamera.startPreview();
} catch (IOException e) {
// left blank for now
}
}
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
mCamera.stopPreview();
mCamera.release();
}
public void surfaceChanged(SurfaceHolder surfaceHolder, int format,
int width, int height) {
// start preview with new settings
try {
mCamera.setPreviewDisplay(surfaceHolder);
mCamera.startPreview();
} catch (Exception e) {
// intentionally left blank for a test
}
}
}