日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ktm390蓝牙连接安卓_蓝牙音乐AudioTrack Session ID的获取

發布時間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ktm390蓝牙连接安卓_蓝牙音乐AudioTrack Session ID的获取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當今這個音視頻無處不在的時代,音頻跟蹤會話ID(AudioTrack Session ID)是個很重要的參數,可以用來實現音頻相關的一些特效。接下來的內容我們就探究如何在安卓藍牙系統中獲取該id。

熟悉藍牙音樂播放流程的同學都了解藍牙音樂AVDTP的控制流與音頻流以及AVRCP是如何作用的,以如下的交互圖簡單介紹下:

AVDTP連接階段分為四步:

1、 發現對端支持的編碼方式有哪幾種

2、 獲取每種編碼方式的參數

3、 雙方協商確定一個最優的編碼方式

4、 建立該編碼方式的AVDTP連接

音頻播放過程中只要創建的audiotrack不變則對應的session id就會保持不變。播放藍牙音樂也是這樣。那藍牙音樂對應的audiotrack session id從哪兒獲取呢?

創建audiotrack都會生成對應的session id,那問題就簡單多了,藍牙音樂播放過程中audiotrack在哪兒被創建的?

藍牙音樂播放分為source、sink兩端,source一般為音頻流輸出端,sink接收音頻流方。這篇文章主要是已sink端來講解藍牙音頻播放流程。Sink方(藍牙耳機、音響、車載等)的藍牙芯片接收到音頻流后通過HCI送到藍牙協議棧,該協議棧中直接通過audio track送入安卓音頻系統播放音樂。

結合藍牙協議棧的代碼可以快速找到audio track的創建處為:BtifAvrcpAudioTrackCreate(),通過sp track可以實現session id的獲取。

那如何將該id送到application層呢?這塊就需要我們了解安卓藍牙系統中媒體音頻的架構,從而添加接口來獲取session id。

安卓系統中關于媒體音頻的架構類似于整個藍牙系統,見下圖:

根據上面的系統架構圖,則獲取audiotrack session id的接口主要和framework、service、JNI以及Bluedroid中btif都有關系。大概的時序圖如下:

至此audiotrack session id就通過新增接口被相關應用獲取。

總結

以上是生活随笔為你收集整理的ktm390蓝牙连接安卓_蓝牙音乐AudioTrack Session ID的获取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。