From 0f7d39daf38658b4a1e4511ddc9ee7518e2aa603 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Fri, 17 Oct 2025 00:08:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ble=5Fservice):=20=E7=A7=BB=E9=99=A4MT?= =?UTF-8?q?U=E6=A3=80=E6=9F=A5=E5=92=8C=E9=9F=B3=E9=A2=91=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除MTU大小检查和音频数据分片发送逻辑,简化音频发送流程 --- .../yunqiinnovation/ble_service/BleService.kt | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt b/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt index 1fa24991d..b5c9d918e 100644 --- a/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt +++ b/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt @@ -866,7 +866,7 @@ object BleService { setupNotifications(g, notifyChar) // 在服务发现完成后,请求最大MTU - requestMaxMtu(g) + //requestMaxMtu(g) } @@ -1097,7 +1097,7 @@ object BleService { // 从队列中取出音频数据块 val audioChunk = audioSendQueue.poll(100, TimeUnit.MILLISECONDS) - if (audioChunk != null&&!isWaitingForWriteCallback) { + if (audioChunk != null) { // 发送音频数据块并等待回调 sendAudioChunkWithCallback(audioChunk) Thread.sleep(AUDIO_SEND_INTERVAL) @@ -1138,14 +1138,14 @@ object BleService { return } - // 检查数据块大小是否超过当前MTU限制 - val maxDataSize = currentMtu - 5 // 减去ATT头部5字节 - if (chunk.size > maxDataSize) { - Log.w(TAG, "数据块过大 (${chunk.size} > $maxDataSize),分片发送") - // 分片发送 - sendChunksInFragments(chunk, maxDataSize) - return - } + // // 检查数据块大小是否超过当前MTU限制 + // val maxDataSize = currentMtu - 5 // 减去ATT头部5字节 + // if (chunk.size > maxDataSize) { + // Log.w(TAG, "数据块过大 (${chunk.size} > $maxDataSize),分片发送") + // // 分片发送 + // sendChunksInFragments(chunk, maxDataSize) + // return + // } // 在主线程中执行蓝牙写入操作 audioSendHandler.post { @@ -1166,7 +1166,7 @@ object BleService { isWaitingForWriteCallback = false recordfile1?.saveAudioDataToWav("发送失败,大小: ${chunk.size} 字节") Log.e(TAG, "发送音频数据块失败,大小: ${chunk.size} 字节") - analyzeWriteFailure(chunk) + // analyzeWriteFailure(chunk) } } catch (e: Exception) {