|
|
@ -309,31 +309,51 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
|
|
|
|
|
|
|
|
mOsdThread.start();
|
|
|
|
mOsdThread.start();
|
|
|
|
|
|
|
|
|
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
|
if (!TextUtils.isEmpty(mOSDLeftTop) || !TextUtils.isEmpty(mOSDLeftTop) || !TextUtils.isEmpty(mOSDLeftTop) || !TextUtils.isEmpty(mOSDLeftTop)) {
|
|
|
|
@Override
|
|
|
|
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
|
|
|
public void run() {
|
|
|
|
mPaint.setStyle(Paint.Style.FILL);
|
|
|
|
mNextVideoAbsolutePath = getVideoFilePath();
|
|
|
|
mPaint.setColor(Color.WHITE);
|
|
|
|
|
|
|
|
int fontSize = DEFAULT_FONT_SIZE;
|
|
|
|
|
|
|
|
mPaint.setTextSize(fontSize);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mPaintStroker = new Paint(Paint.ANTI_ALIAS_FLAG);
|
|
|
|
|
|
|
|
mPaintStroker.setStyle(Paint.Style.STROKE);
|
|
|
|
|
|
|
|
mPaintStroker.setColor(Color.BLACK);
|
|
|
|
|
|
|
|
mPaintStroker.setTextSize(fontSize);
|
|
|
|
|
|
|
|
mPaintStroker.setStrokeWidth(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mBitmap = Bitmap.createBitmap(mVideoWidth, mVideoHeight, Bitmap.Config.ARGB_8888);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Canvas canvas = new Canvas(mBitmap);
|
|
|
|
|
|
|
|
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mOSDFilter = new GlWatermarkFilter(mBitmap);
|
|
|
|
|
|
|
|
|
|
|
|
if (mTimeMask != 0) {
|
|
|
|
|
|
|
|
long ts = System.currentTimeMillis();
|
|
|
|
long ts = System.currentTimeMillis();
|
|
|
|
long ms = ts % 1000;
|
|
|
|
|
|
|
|
initOSD(ts - ms);
|
|
|
|
initOSD(ts);
|
|
|
|
|
|
|
|
|
|
|
|
mOsdTs = ts + 1000;
|
|
|
|
mOsdTs = ts + 1000;
|
|
|
|
|
|
|
|
long ms = ts % 1000;
|
|
|
|
mOSDSemaphore.release();
|
|
|
|
mOSDSemaphore.release();
|
|
|
|
mHandler.postDelayed(mTimerRunnable, 1000 - ms);
|
|
|
|
mHandler.postDelayed(mTimerRunnable, 1000 - ms);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
mNextVideoAbsolutePath = getVideoFilePath();
|
|
|
|
|
|
|
|
|
|
|
|
mGPUCameraRecorder.start(mNextVideoAbsolutePath);
|
|
|
|
mGPUCameraRecorder.start(mNextVideoAbsolutePath);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 200);
|
|
|
|
}, 32);
|
|
|
|
|
|
|
|
|
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
public void run() {
|
|
|
|
mGPUCameraRecorder.stop();
|
|
|
|
mGPUCameraRecorder.stop();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 210 + mDuration * 1000);
|
|
|
|
}, 48 + mDuration * 1000);
|
|
|
|
|
|
|
|
|
|
|
|
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
|
|
|
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -642,27 +662,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
|
|
|
|
|
|
|
|
|
|
|
|
runOnUiThread(() -> {
|
|
|
|
runOnUiThread(() -> {
|
|
|
|
|
|
|
|
|
|
|
|
if (!TextUtils.isEmpty(mOSDLeftTop) || !TextUtils.isEmpty(mOSDLeftTop) || !TextUtils.isEmpty(mOSDLeftTop) || !TextUtils.isEmpty(mOSDLeftTop)) {
|
|
|
|
|
|
|
|
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
|
|
|
|
|
|
|
mPaint.setStyle(Paint.Style.FILL);
|
|
|
|
|
|
|
|
mPaint.setColor(Color.WHITE);
|
|
|
|
|
|
|
|
int fontSize = DEFAULT_FONT_SIZE;
|
|
|
|
|
|
|
|
mPaint.setTextSize(fontSize);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mPaintStroker = new Paint(Paint.ANTI_ALIAS_FLAG);
|
|
|
|
|
|
|
|
mPaintStroker.setStyle(Paint.Style.STROKE);
|
|
|
|
|
|
|
|
mPaintStroker.setColor(Color.BLACK);
|
|
|
|
|
|
|
|
mPaintStroker.setTextSize(fontSize);
|
|
|
|
|
|
|
|
mPaintStroker.setStrokeWidth(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mBitmap = Bitmap.createBitmap(mVideoWidth, mVideoHeight, Bitmap.Config.ARGB_8888);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Canvas canvas = new Canvas(mBitmap);
|
|
|
|
|
|
|
|
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mOSDFilter = new GlWatermarkFilter(mBitmap);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FrameLayout frameLayout = findViewById(R.id.wrap_view);
|
|
|
|
FrameLayout frameLayout = findViewById(R.id.wrap_view);
|
|
|
|
frameLayout.removeAllViews();
|
|
|
|
frameLayout.removeAllViews();
|
|
|
|
mPreviewView = null;
|
|
|
|
mPreviewView = null;
|
|
|
|