Android12 A2DP连接[2]

48 篇文章 36 订阅 ¥99.90 ¥299.90
本文详细介绍了Android蓝牙学习中A2DP连接的步骤,包括connectA2dpNative的各个阶段,如sBluetoothA2dpInterface的定义、btav_source_interface_t的connect接口,以及连接过程中的状态机处理和SDP发现操作。
摘要由CSDN通过智能技术生成

Android 蓝牙学习  @# Android 蓝牙

目录

Android 蓝牙学习  @# Android 蓝牙

1.connectA2dpNative

1.1 sBluetoothA2dpInterface 定义

1.2 get_profile_interface

1.3 btif_av_get_src_interface

1.4 bt_av_src_interface

2. btav_source_interface_t->connect

3. src_connect_sink

3.1 btif_queue_connect

3.2 connect_int

4. 处理BTIF_AV_CONNECT_REQ_EVT

4.1 btif_av_query_mandatory_codec_priority

4.2 BTA_AvOpen

5. BTA_AV_API_OPEN_EVT处理

6. bta_av_do_disc_a2dp

6.1 bta_av_a2dp_sdp_cback

7. 处理BTA_AV_SDP_DISC_OK_EVT


前面讲到JNI调用Bluedroid协议栈connect进行A2DP连接

继续 !!! 

1.connectA2dpNative

android-12.0.0_r2/packages/apps/Bluetooth/jni/com_android_bluetooth_a2dp.cpp


375static jboolean connectA2dpNative(JNIEnv* env, jobject object,
376                                  jbyteArray address) {
377  ALOGI("%s: sBluetoothA2dpInterface: %p", __func__, sBluetoothA2dpInterface);
378  std::shared_lock<std::shared_timed_mutex> lock(interface_mutex);
379  if (!sBluetoothA2dpInterface) {
380    ALOGE("%s: Failed to get the Bluetooth A2DP Interface", __func__);
381    return JNI_FALSE;
382  }
383
384  j
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打个工而已

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值