Android9.0蓝⽛协议总结
⼀、蓝⽛免提协议HFP
HFP(Hands-FreeProfile),通俗点翻译就是免提协议,说⽩了就是蓝⽛电话协议,可以让蓝⽛设备通过协议定义好的ATcommand控
制电话,如接听、挂断、拒接、语⾳拨号等。每个功能都有特定的ATcommand和respon.。
1、HFP协议在整个蓝⽛中的架构图如下:
我们通常叫做AG,HF,举⼀个最简单的例⼦,我们平时⽤的⼿机中的HFP的⾓⾊就是AG,我们平时⽤的蓝⽛⽿机中的HFP⾓⾊就是
HF。
⼆、蓝⽛⾳乐控制协议(AVRCP)
AVRCP(Audio/VideoRemoteControlProfile)定义了蓝⽛设备和audio/video控制功能通信的特点和过程,另⽤于远程控制⾳视频设
备,底层传输基于AVCTP传输协议。该Profile定义了AV/C数字命令控制集。命令和信息通过AVCTP(Audio/VideoControl
TransportProtocol)协议进⾏传输。浏览功能通过AVCTP的第⼆个channel⽽不是AV/C。传输媒体信息通过基于OBEX协议的
BIP(BluetoothBasicImagingProfile)协议。架构如下:
协议栈的位置是:
应⽤场景:
1、车载娱乐系统
从图中可以看出,⼿机端把⾳频数据传递给汽车这边,并且在车载这边也可以通过AVRCP命令来控制⼿机端这边的⾳乐,其中包含上⼀
⾸、下⼀⾸、暂停播放等操作
2、单独充当AVRCPcontroller的设备
其中遥控器只是发送Category1的command的指令来控制播放器,然后播放器把⾳乐发送
给⽿机
3、两个设备之间的远程控制以及Audio流
也就是把控制跟接受⾳频放在了同⼀个设备上,其中Headphone只发送Category1的指令来控制
4、每个设备都充当AVRCP双⾓⾊的设备
以上两个设备都是AVRCP双⾓⾊(controller,target)⽿机通过Category1的指令充当控制播
放暂停等(此时Headphone就是AVRCPcontroller,DiscPlayer是AVRCPtarget),DiscPlayer通
过Category2来控制⾳量(此时DiscPlayer是AVRCPcontroller,此时Headphone就是AVRCP
target)
5、全功能显⽰的车载系统
车机通过Category1来进⾏常规的play/pau/browing功能,还可以通过CoverArt来下载专
辑图⽚等功能。
三、蓝⽛电话本协议(PBAP)
电话本访问协议PhoneBookAccessProfile(PBAP)⽤于访问电话本对象(Vcard),是基于客户端/服务器的模型,⼀般⽤于client从
rver下载电话本。这个协议为为HFP/SIM协议设计。下⾯我们来介绍下PBAP的协议栈架构
四、蓝⽛⾳乐协议(A2DP)
A2DP(AdvancedAudioDistributionProfile)是蓝⽛⾼⾳质⾳频传输协议,⽤于传输单声道,双声道⾳乐(⼀般在A2DP中⽤于stereo
双声道),典型应⽤为蓝⽛⽿机。。A2DP不包括远程控制的功能,远程控制的功能参考协议AVRCP。整个架构如下:
协议栈的位置见红框:
A2DP是基于AVDTP协议。
A2DP应⽤场景
A2DP的⾓⾊分为Source(SRC)跟SINK(SNK)
Source(SRC)–AdeviceistheSRCwhenitactsasasourceofadigitalaudiostreamthatisdeliveredtotheSNKofthe
piconet.
Sink(SNK)–AdeviceistheSNKwhenitactsasasinkofadigitalaudiostreamdeliveredfromtheSRConthesame
piconet.
上⾯解释的也很清楚,说点⽩话点,就是谁发送⾳频数据谁就是Source,谁接收⾳频数据谁就是Sink,举⼀个例⼦:假设⼿机连接蓝⽛⽿
机播放⾳乐,那么⼿机就是做A2DPsource⾓⾊,蓝⽛⽿机就是做A2DPsink⾓⾊。
⾳频数据传递流程
总结下Audio从source发送到sink的流程
我们来⼤体总结下整个流程:
1)A2DPsource的发送流程
UL收集到PCM数据,然后发送到A2DP,A2DP经过codecPCMlib(SBC,MPEG-1,2AudioMPEG-2,4AACATRACfamily或者⾃
定义encoderpcmlib)压缩成特定的⾳频格式,然后交给AVDTP,AVDTP转交给L2CAP,L2CAP通过ACL格式转交给HCI,然后到
达BTchip,通过RF射频出去。
2)A2DPsink的接收流程
BTchip通过RF接收进来数据,然后通过ACL交给HCI,然后交给L2CAP,L2CAP交给AVDTP,
AVDTP交给A2DP,A2DP收到的是remote经过压缩的数据,此时通过codecpcm
lib(SBC,MPEG-1,2AudioMPEG-2,4AACATRACfamily或者⾃定义encoderpcmlib)解压成PCM数
据,然后交于声卡播放
本文发布于:2023-03-12 04:35:40,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678566941222077.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:蓝牙音乐.doc
本文 PDF 下载地址:蓝牙音乐.pdf
留言与评论(共有 0 条评论) |