From c0679752dcd3f28cdab0df78414a24e3a549600b Mon Sep 17 00:00:00 2001 From: fdp <1286779656@qq.com> Date: Wed, 23 Apr 2025 14:13:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E6=97=B6=E6=95=B0=E6=8D=AE=E8=A7=A3?= =?UTF-8?q?=E7=A0=81=E5=8F=91=E9=80=81=E5=88=B0flutter=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yunqiinnovation/jieli/BleService.kt | 21 +++++++++---------- local_plugins/jieli/lib/jieli.dart | 1 + .../yunqiinnovation/jl_opus/JlOpusPlugin.kt | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/local_plugins/jieli/android/src/main/kotlin/com/yunqiinnovation/jieli/BleService.kt b/local_plugins/jieli/android/src/main/kotlin/com/yunqiinnovation/jieli/BleService.kt index 1667021b6..30ad93caa 100644 --- a/local_plugins/jieli/android/src/main/kotlin/com/yunqiinnovation/jieli/BleService.kt +++ b/local_plugins/jieli/android/src/main/kotlin/com/yunqiinnovation/jieli/BleService.kt @@ -325,6 +325,13 @@ class BleService(private val context: Context) { // 注册特征通知 setupNotifications(gatt) + opusPlugin?.startOpusDecodeStream(false, 1, 16000, 40, object : + JlOpusPlugin.Callback1 { + override fun onAudioDataReceived1(pcmData: ByteArray) { + // Log.i(TAG, "收到解码控制通知: ${pcmData.contentToString()}") + callback?.onAudioDataReceived(pcmData) + // 处理解码后的 PCM 数据(如播放或写入文件) + }}) } else { Log.e(TAG, "未找到所需特征") updateConnectionState(STATE_ERROR) @@ -349,14 +356,8 @@ class BleService(private val context: Context) { characteristic: BluetoothGattCharacteristic ) { val characteristicUuid = characteristic.uuid.toString() - Log.d(TAG, "收到特征变化通知: $characteristicUuid") + // Log.d(TAG, "收到特征变化通知: $characteristicUuid") - opusPlugin?.startOpusDecodeStream(false, 1, 16000, 40, object : - JlOpusPlugin.Callback1 { - override fun onAudioDataReceived1(pcmData: ByteArray) { - Log.i(TAG, "收到解码控制通知: ${pcmData.contentToString()}") - // 处理解码后的 PCM 数据(如播放或写入文件) - }}) when (characteristicUuid) { // NOTIFY_CHAR_UUID -> { // // 收到音频数据 @@ -368,18 +369,16 @@ class BleService(private val context: Context) { NOTIFY_CHAR_UUID -> { // 处理控制消息 val value = characteristic.value - Log.i(TAG, "收到控制通知: ${value.contentToString()}") + // Log.i(TAG, "收到控制通知: ${value.size}") // 判断是否收到音频数据 if (value.isNotEmpty() && (value[0].toInt() and 0xFF == 0x4b || value[0].toInt() and 0xFF == 0x48)) { // 处理设备返回的协议数据 fos?.write(value) - - opusPlugin?.handleDecodeRequest(value) - //callback?.onAudioDataReceived(value) + } // 判断是否是协议格式响应 if (value.isNotEmpty() && value[0].toInt() and 0xFF == 0xA5) { diff --git a/local_plugins/jieli/lib/jieli.dart b/local_plugins/jieli/lib/jieli.dart index b92e5841c..50e7d99c2 100644 --- a/local_plugins/jieli/lib/jieli.dart +++ b/local_plugins/jieli/lib/jieli.dart @@ -127,6 +127,7 @@ class Jieli { break; case EventType.audioData: if (data is Uint8List) { + print('收到ble通道消息: $data'); _audioController.add(data); } break; diff --git a/local_plugins/jl_opus/android/src/main/kotlin/com/yunqiinnovation/jl_opus/JlOpusPlugin.kt b/local_plugins/jl_opus/android/src/main/kotlin/com/yunqiinnovation/jl_opus/JlOpusPlugin.kt index 3d6a5ef75..bf47b2917 100644 --- a/local_plugins/jl_opus/android/src/main/kotlin/com/yunqiinnovation/jl_opus/JlOpusPlugin.kt +++ b/local_plugins/jl_opus/android/src/main/kotlin/com/yunqiinnovation/jl_opus/JlOpusPlugin.kt @@ -285,7 +285,7 @@ class JlOpusPlugin: FlutterPlugin, MethodCallHandler { } fun handleDecodeRequest(opusdata: ByteArray) { - Log.d(TAG, "handleDecodeRequest${opusdata}") +// Log.d(TAG, "handleDecodeRequest${opusdata}") if (opusdata == null) { return