android16 连接LEA耳机后开启Audio sharing

张开发
2026/4/12 3:47:44 15 分钟阅读

分享文章

android16 连接LEA耳机后开启Audio sharing
目录1startBroadcast(Settings)函数代码流程流程图2.createBroadcast关键函数代码流程流程图3.btif 层处理StartBroadcast函数代码流程流程图4.stack中CreateAudioBroadcast()函数代码流程(CreateAudioBroadcast + InstantiateBroadcast)流程图5.stack中CreateBig函数代码流程(完整函数:CreateBig)流程图6.协议栈中TriggerIsoDatapathSetup函数代码流程(完整函数:HandleHciEvent 关键 case)流程图7.SetState(STREAMING)函数代码流程(完整函数:OnSetupIsoDataPath)流程图8.Broadcast Assistant 写入 BASS:addSource函数代码流程(完整函数:addSource)流程图9.处理ADD_BCAST_SOURCE/SET_BCAST_CODE函数代码流程(关键 switch case:ADD/SET)流程图10.Receiver 端同步建立与广播码下发10.1 Assistant 添加 Source10.2 SET_BCAST_CODE10.3 PA Sync = SYNCINFO_REQUEST - 本地广播 PAST transfer set info10.4 BIG Encryption - CODE_REQUIRED10.5 BIS Sync 推进(BIS[1]- BIS[2])与“音频同步成功/解密中”落地11.从 BIS 同步到 UI 通知(BIS - STREAMING - notifyPrivateBroadcastReceived)11.1getLocalSourceState():BIS 位图映射为 STREAMING11.2:LocalBluetoothLeBroadcast.onReceiveStateChanged()-notifyPrivateBroadcastReceived()图中可以看到host端开启audio sharing (broadcast)在开启audio sharing之前我有连接了lea耳机,所以Android16会主动把bis通过BASS同步给已连接的耳机(unicast转auracast)。下面就详细分析该流程1startBroadcast(Settings)193855/240096 LocalBluetoothLeBroadcast: startBroadcast: ... broadcastName=GoogleTV3647_6592

更多文章