Я новичок в работе с Bluetooth и стеком ESP32 Bluetooth, так что простите меня, если я не использую правильную терминологию.
Я могу получить пример A2DP_Source разработки ESP-IDF, работающий идеально, только если я сначала включу режим сопряжения наушников. После сопряжения и сохранения связи в Bluetooth он без проблем повторно подключится к наушникам, но затем не уведомит приложение через функции обратного вызова, которые оно подключило. Затем приложение продолжает поиск устройства Bluetooth и аудиопотоков периодически или вовсе.
Я пробовал несколько динамиков и наушников, все с одинаковыми результатами.
Я также вижу список связанных устройств, и устройство там.
Есть ли в стеке bluetooth функция обратного вызова, которую необходимо инициализировать, чтобы уведомить приложение о том, что bluetooth подключен к ранее сопряженному устройству, а не только к устройству в режиме сопряжения?
В настоящее время настроены три функции обратного вызова, которые запускаются при подключении в режиме сопряжения, но не запускаются, когда Bluetooth подключается в режиме без сопряжения.
...
/* register GAP callback function */
esp_bt_gap_register_callback(bt_app_gap_cb);
/* initialize AVRCP controller */
esp_avrc_ct_init();
esp_avrc_ct_register_callback(bt_app_rc_ct_cb);
/* initialize A2DP source */
esp_a2d_register_callback(&bt_app_a2d_cb);
esp_a2d_source_register_data_callback(bt_app_a2d_data_cb);
...
Любая помощь или указатели будут оценены. Спасибо.