public class Tracking extends AppCompatActivity implements SurfaceHolder.Callback,Camera.PreviewCallback{ Camera camera = null; SurfaceView camerasurface = null; Camera.Parameters parameters; static int height = 480; static int width = 640; private float scale1; private int oritentation;//屏幕方向0-竖屏,1-横屏 private static final int MY_CAMERA_REQUEST_CODE = 100; /** * 获取最适合屏幕的照片 尺寸 * * @param sizes * @param w * @param h * @return */ private static final int REQUEST_EXTERNAL_STORAGE = 1; private static String[] PERMISSIONS_STORAGE = { "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" }; public static void verifyStoragePermissions(Activity activity) { try { //检测是否有写的权限 int permission = ActivityCompat.checkSelfPermission(activity, "android.permission.WRITE_EXTERNAL_STORAGE"); if (permission != PackageManager.PERMISSION_GRANTED) { // 没有写的权限,去申请写的权限,会弹出对话框 ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE); } } catch (Exception e) { e.printStackTrace(); } } @RequiresApi(api = Build.VERSION_CODES.M) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tracking); if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.CAMERA}, MY_CAMERA_REQUEST_CODE); } getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); verifyStoragePermissions(this); camerasurface = (SurfaceView) findViewById(R.id.preview); camerasurface.getHolder().addCallback(this); camerasurface.setKeepScreenOn(true); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { Log.i("info", "landscape"); // 横屏 oritentation = 1; } else if (this.getResources().getCon
android 摄像头预览,横竖屏自由切换,解决拉伸问题。
最新推荐文章于 2021-12-17 11:04:18 发布
该博客主要介绍了如何在Android应用中处理摄像头预览,实现横竖屏自由切换,并解决预览过程中可能出现的画面拉伸问题。通过设置合适的预览尺寸、监听屏幕方向变化以及调整布局参数,确保摄像头预览始终适应屏幕大小。同时,还涉及到权限检查、相机操作和预览回调等相关知识点。
摘要由CSDN通过智能技术生成