经典蓝牙A2DP介绍_第1页
经典蓝牙A2DP介绍_第2页
经典蓝牙A2DP介绍_第3页
经典蓝牙A2DP介绍_第4页
经典蓝牙A2DP介绍_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、A2DP介绍基本概念及缩略语A2DP(Advanced Audio Distribute Profile) 它定义了在ACL信道上进行高质量的音频分发的协议和过程 SBC(Low Complexity Subband Codec ) SBC是为蓝牙AV(Audio/Video)应用设计的音频编、解码方式,可以在中等比特率的情况下获得高质量的音频,并且具有低的计算复杂度Stream Stream代表两个A/V设备之间流多媒体数据的端到端的逻辑连接SRC(Source) SRC指的是音频数据流的源端SNK(Sink) SNK指的是音频数据流的接收端SEP(Stream End Point) SEP

2、指出了注册SEP的应用端所具有的服务传输能力和AV能概述A2DP的实现依赖于GAVDP和GAP,在GAVDP中定义了流连接的建立过程,在A2DP中定义流的参数和编、解码过程。典型的应用可以参照下图SRC(信源)端编码后通过微微网把音频数据发送到SNK(信宿)端限制: 1 不支持同步的点对多点的数据分发 2 由于射频信号的传输、数据流的编、解码等,在SRC和SNK之间有延迟(高通参考设计设置为500ms) 3 音频数据速率必须小于蓝牙连接的比特率协议栈协议栈结构见下图:A2DP的codec类型A2DP要求SRC和SNK双方必须支持的编码格式为SBC,另外其它格式如MPEG-1,2 Audio,

3、MPEG-2,4 AAC以及ATRAC family为可选编码格式。如果SRC端以非A2DP Codec格式发送流数据到SNK,而SNK不支持非A2DP Codec格式的话,SRC会重新以SBC方式编码再发送。高通参考设计支持的文件格式:mp3、wav、mmf、mid、aac高通参考设计不支持的文件格式: Vocoder-based(EMR, FR, HR, AMR, 13K)格式的数据 高通参考设计中A2DP不关心video中的音频数据AVDTP音频流的状态变化AVDTP中定义了6种状态:IDLE、Configured、OPEN、STREAMING、Closing、Aborting。其中,I

4、DLE状态指的是流连接没有建立但L2CAP信道已经打开;Configured状态指SEP的配置完成; OPEN状态指流连接已经建立;STREAMING状态指参数已经配置完毕,进行流的分发。Closing状态指关闭SEP的状态Aborting状态指Abort流连接 AVDTP音频流的状态变化流连接建立和分发的时序流连接建立和分发的时序典型的过程 首先,SRC端发现SNK端的SEP(Stream End Point),然后通过SEPID获得SNK的服务能力,包括应用服务能力和传输服务能力。对于A2DP,应用服务能力中包含了CODEC的能力和内容加保护的能力;传输服务能力由AVDTP提供,它是为了更

5、加合理的处理流数据,提高信道吞吐量。然后,根据获得的SEP的信息和服务能力,SRC为双方配置CODEC、内容保护、传输服务等音频流的参数。最后,流连接在L2CAP信道上建立。 具体的过程参见下图SNKSRCIDLEStream End Point DiscoveryGet CapbilitiesStream ConfigurationStream EstablishmentOPENStart StreamingSTREAMING流连接建立和分发的时序流连接建立和分发的时序参考设计的过程 高通参考设计音频播放的过程遵循了上图的过程,只是为了管理更加方便把状态划分的更加仔细。BT service层

6、负责连接的建立、SEP发现、SBC等参数的设置等功能,音频的编码通过AVS部分的DSP来处理。发送编码后的音频数据的函数在初始化时就注册到一个CALL BACK中,当有数据编码结束后就会调用相应的函数向远端SNK发送音频流。具体的时序参下图 BT UIvocoderRemote deviceBT serviceSnd manageAEEBT_A2DP_EVT_CONNECTEDbt_cmd_pf_a2dp_connectBT_EV_PF_A2DP_CONvoc_data_set_sbc_remote_paramsbt_cmd_pf_avdtp_connectBT_EV_PF_AVDTP_CON

7、_CFMuisnd_set_device_specificIDLECONNECTINGCONFIGURINGbt_cmd_pf_avdtp_discoverBT_EV_PF_AVDTP_DISC_CFMbt_cm d_pf_a2dp_startSet local sbc param sB T_EV _PF_A 2D P_STA R Tbt_cm d_pf_avdtp_set_configO PENA EEB T_A 2D P_EV T_STA R TSTR EA M IN GA EEB T_A 2D P_EV T_O PEN1) the current im age does not supp

8、ort A 2D P2) the codec changed3)the song endedC O N FIG SEN TB T_EV _PF_A V D TP_SET_C FG _C FMC O N FIG U R EDbt_cm d_pf_avdtp_openB T_EV _PF_A V D TP_O PEN _C FMbt_ec_send_event(open)bt_cm d_pf_avdtp_startB T_EV _PF_A V D TP_STA R T_C FMbt_pf_a2dp_start_stream ingsnd_sbc_set_bitrateA EEB T _A 2D P

9、_EV T_B ITR A TEbt_pf_avdtp_cm d_send_dataC all back condition satisfyvoc_com plete_bt_a2dpbt_pf_avdtp_cm d_send_databt_cm d_pf_a2dp_suspendbt_cm d_pf_avdtp_suspendSU SPEN D IN Gbt_cm d_pf_avdtp_closeC LO SIN Gcase1case2bt_cm d_pf_avdtp_disconnectA EEB T_A 2D P_EV T_D ISC O N N EC TEDPlay Sound高通ser

10、vice层接口IdInterfaceComment1bt_cmd_ag_enable()初始化A2DP SRC端数据(SBC、SEP、Capbilities).注册一些AVDTP中用到的回调函数2bt_cmd_pf_a2dp_disable()注销SEP、AVDTP中的回调函数等3bt_cmd_pf_a2dp_set_device()保存远端设备的地址,播放音频时会自动建立连接4bt_cmd_pf_a2dp_connect()与远端设备建立连接5bt_cmd_pf_a2dp_disconnect()断开与远端设备的连接6bt_cmd_pf_a2dp_start()播放音频数据时由AVS调用7bt_cmd_pf_a2dp_suspend()It will suspend streaming to the remote device, sending either an AVDTP Suspend or AVDTP Close command to the remote (depending on values set in IBTEXTA2DP_Ctl().If audio is still being played to the A2DP sink, this audio w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论