經典藍牙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(信宿)端w限制:w 1 不支持同步的點對多點的數據分發w 2 由于射頻信號的傳輸、數據流的編、解碼等,在SRC和SNK之間有延遲(高通參考設計設置為500ms)w 3 音頻數據速率必須小于藍牙連接的比特率協議棧協議棧結構見下圖:A2DP的codec類型A2DP要求SRC和SNK雙方必須支持的編碼格式為SBC,另外其它格式如MPEG-1,2 Aud

3、io, 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。

4、其中,IDLE狀態指的是流連接沒有建立但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 serv

6、ice層負責連接的建立、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

7、_CON_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

8、support 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

9、2D P_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高

10、通service層接口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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論