优化时间的准确性

serial
Matthew 1 year ago
parent c2076b1aed
commit a527c2ee0c

@ -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;

Loading…
Cancel
Save