优化蓝牙播放状态控制 3046/2 3046/head 3050/target/1 3052/target/1
authorhcj <1224667075@qq.com>
Thu, 8 Jan 2026 03:13:53 +0000 (11:13 +0800)
committerhcj <1224667075@qq.com>
Thu, 8 Jan 2026 03:13:53 +0000 (11:13 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/bluetooth/src/BluetoothModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/bluetooth/src/Ln_Bluetooth_apiC.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/include/bluetooth/BluetoothModel.h
code/sdk/application/wearable/ln/nativeapp/nativeui/include/bluetooth/Ln_Bluetooth_apiC.h

index ce2e140..01b2568 100644 (file)
@@ -1205,11 +1205,20 @@ static void A2dpSrcConnectstateChanged(bd_addr_t *bdAddr, int connState)
     GraphicService::GetInstance()-> PostGraphicEvent(std::bind(ln_bt_report_earphone_connection_status));\r
 }\r
 \r
+uint8_t A2dpSrcPlayingState=0;\r
+\r
 static void A2dpSrcPlayingStateChanged(bd_addr_t *bdAddr, int playState)\r
 {\r
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "A2dpSrcPlayingStateChangedCallback addr: %02x%02x%02x%02x%02x%02x playState: %x",\r
         bdAddr->addr[5], bdAddr->addr[4], bdAddr->addr[3], /* 5 4 3 idx */\r
         bdAddr->addr[2], bdAddr->addr[1], bdAddr->addr[0], playState); /* 2 1 0 idx */\r
+    A2dpSrcPlayingState=playState;\r
+\r
+}\r
+\r
+uint8_t get_A2dpSrcPlayingStat(void)\r
+{\r
+    return A2dpSrcPlayingState;\r
 }\r
 \r
 static void A2dpSrcConfigureChanged(bd_addr_t *bdAddr, a2dp_codec_info_t *info)\r
index ec20c78..c1d23d8 100644 (file)
@@ -166,6 +166,9 @@ namespace OHOS
         LN_CancelBrScanHandle();
     }
 
+
+
+
 }
 
 #ifdef __cplusplus
@@ -173,6 +176,13 @@ extern "C"
 {
 #endif
 
+
+    uint8_t ln_get_A2dpSrcPlayingStat(void)
+    {
+        return OHOS::get_A2dpSrcPlayingStat();
+    }
+
+
     // 初始化蓝牙
     int ln_bt_init(void)
     {
@@ -445,6 +455,8 @@ extern "C"
         return volume;
     }
 
+
+
 #ifdef __cplusplus
 }
 #endif
\ No newline at end of file
index b92fbc3..03bbe55 100644 (file)
@@ -29,6 +29,7 @@ typedef enum : uint16_t {
     CALLERPLAYERS,\r
 } CallerFactor;\r
 \r
+\r
 typedef struct\r
 {\r
     unsigned char deviceName[BD_NAME_LEN]; /* Name of the device record, must be in UTF-8 */\r
@@ -148,6 +149,8 @@ void BtInitGatts(void);
 void BtInitSpp(void);\r
 void BleAdvStart(void);\r
 void BtA2dpInit(void);\r
+uint8_t get_A2dpSrcPlayingStat(void);\r
+\r
 #ifdef __cplusplus\r
 }\r
 #endif\r