From 87d885019c9df22ade809b6a2da06545bff9bf98 Mon Sep 17 00:00:00 2001
From: Dana <Dana_Lee1016@126.com>
Date: 星期五, 30 一月 2026 16:26:04 +0800
Subject: [PATCH] 在 startFileRotationTimer() 的定时回调里,轮换到下一分钟前调用: usb和内部相机
---
app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java | 45 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java b/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java
index ecc72ef..ce8aec6 100644
--- a/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java
+++ b/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java
@@ -22,6 +22,7 @@
import com.safeluck.floatwindow.MediaArgu;
import com.safeluck.floatwindow.ResponseVO;
import com.safeluck.floatwindow.util.VideoFileUtils;
+import com.safeluck.floatwindow.util.FileUtil;
import timber.log.Timber;
@@ -266,12 +267,15 @@
// 鍋滄褰撳墠褰曞儚
stopCurrentRecording();
- // 閫氱煡鏂囦欢鍒涘缓
+ // 閫氱煡鏂囦欢鍒涘缓锛堝綋鍓嶈繖娈� 1 鍒嗛挓鏂囦欢锛�
if (currentVideoFile != null) {
notifyCallback(2, 0, currentVideoFile.getName());
}
-
- // 寮�濮嬫柊鐨勫綍鍍�
+
+ // 姣忔鍐欏叆鏂版枃浠跺墠锛屾鏌ュ苟娓呯悊瀛樺偍绌洪棿锛圓nYun_VIDEO 涓嬬殑 mp4锛�
+ ensureStorageSpaceForMp4();
+
+ // 寮�濮嬫柊鐨勫綍鍍忥紙鍒涘缓涓嬩竴鍒嗛挓鐨勬柊鏂囦欢锛�
startRecording();
// 缁х画瀹氭椂
@@ -280,6 +284,41 @@
}
}, RECORD_INTERVAL_MS);
}
+
+ /**
+ * 纭繚瀛樺偍绌洪棿瓒冲锛堥拡瀵� AnYun_VIDEO 涓嬬殑 mp4锛�
+ * TF 鍗★細浣跨敤 FileUtil.cleanupH264Files锛堝唴閮ㄥ凡鏀逛负娓呯悊 mp4锛夋寜鏃ユ湡鐩綍鍒犻櫎鏈�鏃╃殑瑙嗛
+ * 鍐呴儴 Flash锛氫娇鐢� FileUtil.ensureInternalFlashSpaceForH264锛堝唴閮ㄥ凡鏀逛负娓呯悊 mp4锛�
+ */
+ private void ensureStorageSpaceForMp4() {
+ if (context == null || mediaArgu == null) {
+ return;
+ }
+ try {
+ int tfFlag = mediaArgu.getTfCardFlag(); // 0-鍐呴儴瀛樺偍锛�1-TF 鍗�
+
+ // 鍏堝畾浣嶅綋鍓嶄娇鐢ㄧ殑鏃ユ湡鐩綍锛屽啀鍙栧叾鐖剁洰褰� AnYun_VIDEO 浣滀负鏍圭洰褰�
+ File dateDir = VideoFileUtils.getVideoDirectory(context, tfFlag);
+ if (dateDir == null) {
+ return;
+ }
+ File rootDir = dateDir.getParentFile(); // .../AnYun_VIDEO
+ if (rootDir == null) {
+ return;
+ }
+
+ String rootPath = rootDir.getAbsolutePath();
+ if (tfFlag == 1) {
+ // TF 鍗★細闄愬埗鎬诲ぇ灏� + 鍓╀綑绌洪棿
+ FileUtil.cleanupH264Files(context, rootPath);
+ } else {
+ // 鍐呴儴 Flash锛氱‘淇濆墿浣欑┖闂� 鈮� 800MB
+ FileUtil.ensureInternalFlashSpaceForH264(context);
+ }
+ } catch (Exception e) {
+ Timber.e(e, "ensureStorageSpaceForMp4 error");
+ }
+ }
/**
* 鍋滄褰撳墠褰曞儚
--
Gitblit v1.8.0