public class MyTextureView extends TextureView { private Camera camera; public MyTextureView(Context context){ this(context,null); } public MyTextureView(Context context, AttributeSet attrs){ this(context,attrs,0); } public MyTextureView(Context context, AttributeSet attrs, int defStyleAttr){ super(context,attrs,defStyleAttr); init(); } private void init(){ camera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT); camera.setDisplayOrientation(90); setSurfaceTextureListener(new SurfaceTextureListener() { @Override public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { try { camera.setPreviewTexture(surface); camera.startPreview(); }catch (Exception e){ e.printStackTrace(); Log.i("wanlijun",e.toString());
自定义TextureView拍照
最新推荐文章于 2024-07-09 10:24:41 发布
该博客介绍了如何自定义TextureView实现拍照功能。通过创建一个名为MyTextureView的类,继承自TextureView,并初始化Camera,设置监听器来处理SurfaceTexture的可用性、大小改变、销毁和更新。在onSurfaceTextureAvailable方法中设置预览纹理并开始预览,而在take方法中调用Camera的takePicture方法进行拍照,并在回调中保存图片到指定路径。
摘要由CSDN通过智能技术生成