PreviewState.java
3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package com.cjt2325.cameralibrary.state;
import android.graphics.Bitmap;
import android.view.Surface;
import android.view.SurfaceHolder;
import com.cjt2325.cameralibrary.CameraInterface;
import com.cjt2325.cameralibrary.JCameraView;
import com.cjt2325.cameralibrary.util.LogUtil;
/**
* =====================================
* 作 者: 陈嘉桐
* 版 本:1.1.4
* 创建日期:2017/9/8
* 描 述:空闲状态
* =====================================
*/
class PreviewState implements State {
public static final String TAG = "PreviewState";
private CameraMachine machine;
PreviewState(CameraMachine machine) {
this.machine = machine;
}
@Override
public void start(SurfaceHolder holder, float screenProp) {
CameraInterface.getInstance().doStartPreview(holder, screenProp);
}
@Override
public void stop() {
CameraInterface.getInstance().doStopPreview();
}
@Override
public void foucs(float x, float y, CameraInterface.FocusCallback callback) {
LogUtil.i("preview state foucs");
if (machine.getView().handlerFoucs(x, y)) {
CameraInterface.getInstance().handleFocus(machine.getContext(), x, y, callback);
}
}
@Override
public void swtich(SurfaceHolder holder, float screenProp) {
CameraInterface.getInstance().switchCamera(holder, screenProp);
}
@Override
public void restart() {
}
@Override
public void capture() {
CameraInterface.getInstance().takePicture(new CameraInterface.TakePictureCallback() {
@Override
public void captureResult(Bitmap bitmap, boolean isVertical) {
machine.getView().showPicture(bitmap, isVertical);
machine.setState(machine.getBorrowPictureState());
LogUtil.i("capture");
}
});
}
@Override
public void record(Surface surface, float screenProp) {
CameraInterface.getInstance().startRecord(surface, screenProp, null);
}
@Override
public void stopRecord(final boolean isShort, long time) {
CameraInterface.getInstance().stopRecord(isShort, new CameraInterface.StopRecordCallback() {
@Override
public void recordResult(String url, Bitmap firstFrame) {
if (isShort) {
machine.getView().resetState(JCameraView.TYPE_SHORT);
} else {
machine.getView().playVideo(firstFrame, url);
machine.setState(machine.getBorrowVideoState());
}
}
});
}
@Override
public void cancle(SurfaceHolder holder, float screenProp) {
LogUtil.i("浏览状态下,没有 cancle 事件");
}
@Override
public void confirm() {
LogUtil.i("浏览状态下,没有 confirm 事件");
}
@Override
public void zoom(float zoom, int type) {
LogUtil.i(TAG, "zoom");
CameraInterface.getInstance().setZoom(zoom, type);
}
@Override
public void flash(String mode) {
CameraInterface.getInstance().setFlashMode(mode);
}
}