|
|
@ -179,7 +179,20 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
|
|
|
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
|
|
|
|
|
|
|
|
|
|
|
Window win = getWindow();
|
|
|
|
Window win = getWindow();
|
|
|
|
win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
|
|
|
int flags = /*WindowManager.LayoutParams.FLAG_FULLSCREEN
|
|
|
|
|
|
|
|
| */WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
|
|
|
|
|
|
|
|
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
|
|
|
|
|
|
|
|
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
|
|
|
|
|
|
|
|
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
|
|
|
|
|
|
|
|
int mask = /*WindowManager.LayoutParams.FLAG_FULLSCREEN |
|
|
|
|
|
|
|
|
| */WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
|
|
|
|
|
|
|
|
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
|
|
|
|
|
|
|
|
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
|
|
|
|
|
|
|
|
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
|
|
|
|
|
|
|
|
win.setFlags(flags, mask);
|
|
|
|
|
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
|
|
|
|
|
|
|
|
setShowWhenLocked(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
setContentView(R.layout.activity_camera2_video);
|
|
|
|
setContentView(R.layout.activity_camera2_video);
|
|
|
|
|
|
|
|
|
|
|
@ -303,13 +316,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
|
|
|
|
|
|
|
|
mHandler = new Handler();
|
|
|
|
mHandler = new Handler();
|
|
|
|
|
|
|
|
|
|
|
|
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
protected void onResume() {
|
|
|
|
|
|
|
|
super.onResume();
|
|
|
|
|
|
|
|
Log.i("OSD", "onResume");
|
|
|
|
|
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
public void run() {
|
|
|
@ -319,12 +325,24 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
public void run() {
|
|
|
|
mNextVideoAbsolutePath = getVideoFilePath();
|
|
|
|
mNextVideoAbsolutePath = getVideoFilePath();
|
|
|
|
mGPUCameraRecorder.start(mNextVideoAbsolutePath);
|
|
|
|
if (mGPUCameraRecorder != null) {
|
|
|
|
|
|
|
|
mGPUCameraRecorder.start(mNextVideoAbsolutePath);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
int aa = 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 0);
|
|
|
|
}, 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 100);
|
|
|
|
}, 100);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
protected void onResume() {
|
|
|
|
|
|
|
|
super.onResume();
|
|
|
|
|
|
|
|
Log.i("OSD", "onResume");
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -332,7 +350,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
super.onStop();
|
|
|
|
super.onStop();
|
|
|
|
|
|
|
|
|
|
|
|
Log.i("OSD", "onStop");
|
|
|
|
Log.i("OSD", "onStop");
|
|
|
|
// releaseCamera();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -535,7 +553,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
int statusHeight = mStatusBarHeight;
|
|
|
|
int statusHeight = mStatusBarHeight;
|
|
|
|
|
|
|
|
|
|
|
|
Canvas canvas = new Canvas(bm);
|
|
|
|
Canvas canvas = new Canvas(bm);
|
|
|
|
boolean aa = canvas.isHardwareAccelerated();
|
|
|
|
// boolean aa = canvas.isHardwareAccelerated();
|
|
|
|
Rect textBounds = new Rect();
|
|
|
|
Rect textBounds = new Rect();
|
|
|
|
|
|
|
|
|
|
|
|
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
|
|
|
|
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
|
|
|
@ -611,6 +629,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
mGPUCameraRecorder.stop();
|
|
|
|
mGPUCameraRecorder.stop();
|
|
|
|
mGPUCameraRecorder.release();
|
|
|
|
mGPUCameraRecorder.release();
|
|
|
|
mGPUCameraRecorder = null;
|
|
|
|
mGPUCameraRecorder = null;
|
|
|
|
|
|
|
|
Log.i("OSD", "mGPUCameraRecorder destroyed");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (mPreviewView != null) {
|
|
|
|
if (mPreviewView != null) {
|
|
|
@ -658,8 +677,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
|
|
|
|
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int width = right - left;
|
|
|
|
int width = right - left;
|
|
|
|
int height = bottom - top;
|
|
|
|
int height = bottom - top;
|
|
|
|
|
|
|
|
|
|
|
@ -721,13 +738,11 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
.cameraRecordListener(new CameraRecordListener() {
|
|
|
|
.cameraRecordListener(new CameraRecordListener() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onGetFlashSupport(boolean flashSupport) {
|
|
|
|
public void onGetFlashSupport(boolean flashSupport) {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onRecordComplete() {
|
|
|
|
public void onRecordComplete() {
|
|
|
|
// mHandler.removeCallbacks(mTimerRunnable);
|
|
|
|
// mHandler.removeCallbacks(mTimerRunnable);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -742,7 +757,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
int aa = 0;
|
|
|
|
int aa = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 1200L + mDuration * 1000);
|
|
|
|
}, 1200L + mDuration * 1000);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -771,7 +785,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onDurationArrived() {
|
|
|
|
public void onDurationArrived() {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
.videoSize(mVideoWidth, mVideoHeight)
|
|
|
|
.videoSize(mVideoWidth, mVideoHeight)
|
|
|
@ -781,6 +794,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
.duration(mDuration * 1000)
|
|
|
|
.duration(mDuration * 1000)
|
|
|
|
.build();
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Log.i("OSD", "mGPUCameraRecorder created");
|
|
|
|
if (mOSDFilter != null) {
|
|
|
|
if (mOSDFilter != null) {
|
|
|
|
mGPUCameraRecorder.setFilter(mOSDFilter);
|
|
|
|
mGPUCameraRecorder.setFilter(mOSDFilter);
|
|
|
|
}
|
|
|
|
}
|
|
|
|