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