package com.laifeng.sopcastsdk.configuration; /** * @Title: CameraConfiguration * @Package ccom.laifeng.sopcastsdk.configuration * @Description: * @Author Jim * @Date 16/9/12 * @Time 下午3:26 * @Version */ public final class CameraConfiguration { public static final int DEFAULT_HEIGHT = 1280; public static final int DEFAULT_WIDTH = 720; public static final int DEFAULT_FPS = 15; public static final Facing DEFAULT_FACING = Facing.FRONT; public static final Orientation DEFAULT_ORIENTATION = Orientation.PORTRAIT; public static final FocusMode DEFAULT_FOCUSMODE = FocusMode.AUTO; public enum Facing { FRONT, BACK } public enum Orientation { LANDSCAPE, PORTRAIT } public enum FocusMode { AUTO, TOUCH } public final int height; public final int width; public final int fps; public final Facing facing; public final Orientation orientation; public final FocusMode focusMode; private CameraConfiguration(final Builder builder) { height = builder.height; width = builder.width; facing = builder.facing; fps = builder.fps; orientation = builder.orientation; focusMode = builder.focusMode; } public static CameraConfiguration createDefault() { return new Builder().build(); } public static class Builder { private int height = DEFAULT_HEIGHT; private int width = DEFAULT_WIDTH; private int fps = DEFAULT_FPS; private Facing facing = DEFAULT_FACING; private Orientation orientation = DEFAULT_ORIENTATION; private FocusMode focusMode = DEFAULT_FOCUSMODE; public Builder setPreview(int height, int width) { this.height = height; this.width = width; return this; } public Builder setFacing(Facing facing) { this.facing = facing; return this; } public Builder setOrientation(Orientation orientation) { this.orientation = orientation; return this; } public Builder setFps(int fps) { this.fps = fps; return this; } public Builder setFocusMode(FocusMode focusMode) { this.focusMode = focusMode; return this; } public CameraConfiguration build() { return new CameraConfiguration(this); } } }