From f8e07136a73a1723c2c9cdd13b8928c0e7cdf5aa Mon Sep 17 00:00:00 2001
From: Dana <Dana_Lee1016@126.com>
Date: 星期四, 29 一月 2026 13:42:36 +0800
Subject: [PATCH] 1.usb录像 Cameraid
---
app/src/main/java/com/safeluck/floatwindow/P2UsbCameraVideoService.java | 21 ++++++++++++++++++++-
app/src/main/java/com/safeluck/floatwindow/manager/UsbCameraRecordManager.java | 6 +++---
2 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/com/safeluck/floatwindow/P2UsbCameraVideoService.java b/app/src/main/java/com/safeluck/floatwindow/P2UsbCameraVideoService.java
index fbd7398..09e59ab 100644
--- a/app/src/main/java/com/safeluck/floatwindow/P2UsbCameraVideoService.java
+++ b/app/src/main/java/com/safeluck/floatwindow/P2UsbCameraVideoService.java
@@ -3,7 +3,9 @@
import android.app.Service;
import android.content.Context;
import android.content.Intent;
+import android.os.Handler;
import android.os.IBinder;
+import android.os.Looper;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
@@ -25,6 +27,9 @@
private UsbCameraRecordManager usbCameraRecordManager;
private ManagerType currentManagerType = ManagerType.NONE;
+
+ // 涓荤嚎绋� Handler锛岀敤浜庣‘淇� AlivcLivePusher 鍒濆鍖栧湪涓荤嚎绋嬫墽琛�
+ private final Handler mainHandler = new Handler(Looper.getMainLooper());
private enum ManagerType {
NONE,
@@ -114,6 +119,15 @@
return;
}
+ // 纭繚鍦ㄤ富绾跨▼鎵ц锛屽洜涓� AlivcLivePusher 鍒濆鍖栭渶瑕� Handler锛堝繀椤诲湪鏈� Looper 鐨勭嚎绋嬶級
+ if (Looper.myLooper() == Looper.getMainLooper()) {
+ startMediaInternal(media);
+ } else {
+ mainHandler.post(() -> startMediaInternal(media));
+ }
+ }
+
+ private void startMediaInternal(MediaArgu media) {
// 鍏堝仠姝㈠綋鍓�
stopCurrentManager();
@@ -127,7 +141,12 @@
}
private void stopMedia(MediaArgu media) {
- stopCurrentManager();
+ // 纭繚鍦ㄤ富绾跨▼鎵ц
+ if (Looper.myLooper() == Looper.getMainLooper()) {
+ stopCurrentManager();
+ } else {
+ mainHandler.post(this::stopCurrentManager);
+ }
}
private void stopCurrentManager() {
diff --git a/app/src/main/java/com/safeluck/floatwindow/manager/UsbCameraRecordManager.java b/app/src/main/java/com/safeluck/floatwindow/manager/UsbCameraRecordManager.java
index 7ccabbd..a99dfa2 100644
--- a/app/src/main/java/com/safeluck/floatwindow/manager/UsbCameraRecordManager.java
+++ b/app/src/main/java/com/safeluck/floatwindow/manager/UsbCameraRecordManager.java
@@ -297,11 +297,11 @@
int usbId = (mediaArgu != null) ? mediaArgu.getUsbCameraId() : 0;
int[] cameraIds;
if (usbId == 2) {
- cameraIds = new int[]{2};
+ cameraIds = new int[]{2,3};
} else if (usbId == 1) {
- cameraIds = new int[]{0};
+ cameraIds = new int[]{1,2};
} else {
- cameraIds = new int[]{0, 2};
+ cameraIds = new int[]{0, 1};
}
String cameraName = null; // 涓嶆寚瀹氱壒瀹氬悕绉�
--
Gitblit v1.8.0