From 1ff7fbf81cbafa31a3dd09ee5dcb9e270ccbbca1 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 3 Feb 2026 16:24:29 +0800 Subject: [PATCH] =?UTF-8?q?fixbug=EF=BC=9A=E4=BF=AE=E5=A4=8DBeepManager?= =?UTF-8?q?=E7=9A=84=E6=9E=84=E9=80=A0=E6=96=B9=E6=B3=95=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E9=93=BEupdatePrefs->buildMediaPlayer->=20mediaPlayer.setDataS?= =?UTF-8?q?ource=E5=9C=A8=E4=B8=BB=E7=BA=BF=E7=A8=8B=E8=A2=AB=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=AF=BC=E8=87=B4=E4=BA=86anr=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/king/camera/scan/manager/BeepManager.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/camera-scan/src/main/java/com/king/camera/scan/manager/BeepManager.java b/camera-scan/src/main/java/com/king/camera/scan/manager/BeepManager.java index 34f94c8..6a61f9a 100644 --- a/camera-scan/src/main/java/com/king/camera/scan/manager/BeepManager.java +++ b/camera-scan/src/main/java/com/king/camera/scan/manager/BeepManager.java @@ -61,7 +61,18 @@ public void setPlayBeep(boolean playBeep) { private synchronized void updatePrefs() { if (mediaPlayer == null) { - mediaPlayer = buildMediaPlayer(context); + new Thread(() -> { + MediaPlayer mp = buildMediaPlayer(context); + synchronized (BeepManager.this) { + if (mp != null) { + if (mediaPlayer == null) { + mediaPlayer = mp; + } else { + mp.release(); + } + } + } + }).start(); } if (vibrator == null) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { @@ -120,4 +131,4 @@ public synchronized void close() { } } -} \ No newline at end of file +}