發表日期:2018-11 文章編輯:小燈 瀏覽次數:1935
原文鏈接:https://blog.csdn.net/appdevdaily/article/details/44156135
App開發智能車載之SDK篇
網絡資源
<automotiveApp> <uses name="media" /> </automotiveApp>
<application> ... <meta-data android:name="com.google.android.gms.car.application" android:resource="@xml/automotive_app_desc"/></application>
模擬器安裝
安卓車載音響系統應用
github上有個android media browser service的例程項目 https://github.com/googlesamples/android-MediaBrowserService 我們可以通過這個項目來了解車載音頻應用開發
Android framework已經對底層的底層的實現細節進行了封裝,應用開發者很容易直接采用framework現有提供的MediaBrowserService, MediaSession,MediaPlayer等接口進行開發
編譯運行
下載github上的googlesamples/android-MediaBrowserService進行編譯
git clone https://github.com/googlesamples/android-MediaBrowserService.git .
這個project主要是為演示MediaBrowserService的使用方法的,我們可以稍微改改動一下就可以支持Auto應用
這個project默認是基于android studio的,習慣用使用eclipse+ADT的可以通過以下很方便的把他轉成Eclipse的項目
創建一個新的eclispe Android Application Project, 在創建向導中不要創建Activity
拷貝Application/src/main/java/到eclipse workspace/src目錄
拷貝Application/src/main/res到eclipse workspace/res目錄
拷貝Application/src/main/AndroidManifest.xml到eclipse workspace/AndroidManifest.xml
Project Properties=>Java Compiler=>Compiler compliance level 1.7
在AndroidManifest.xml中添加Auto描述信息
<meta-data android:name="com.google.android.gms.car.application" android:resource="@xml/automotive_app_desc"/>
MediaBrowserService播放控制
車載應用需要在manifest文件中聲明MediaBrowserService, 車載設備通過該Service與車載應用進行交互。MediaBrowserService可以讓車載設備查詢車載應用所提供的內容,車載設備通過MediaBrowserService創建的MediaSession對象來進行播放控制。
Android Auto的媒體播放實現和Phone android媒體播放類似,framework為我們封裝了底層實現細節,提供了統一的API接口. Andriod Auto音頻播放主要涉及到如下的幾個類
MediaBrowserService: 提供該服務的應用,允許其他應用來查詢該應用所提供的媒體內容并接收其他應用的媒體播放請求.
MediaSession: 當應用需要發布媒體信息或者處理媒體相關事件的時候需要創建MediaSession對象,通過該對象,應用程序可以同媒體控制器,音量控制器和媒體按鍵等系統資源進行交互。通過實現與注冊MediaSession.Callback接口, 應用可以接收系統傳遞來的媒體事件。
MediaPlayer: 應用程序通過該類型對象實現媒體的播放和控制。
MediaBrowserService組織播放列表
MediaBrowserService通過一個樹形結構來組織其所發布的內容。根節點可以通過MEDIA_ID_ROOT來標識,中間節點可以使用FLAG_BROWSABLE來標識,葉節點可以通過FLAG_PLAYABLE來標識。
當車載設備和MediaBrowserService進行交互的時候,會調用其OnGetRoot()函數,在該函數實現中可以做一下權限檢查的工作,然后返回一個BrowserRoot類型的根節點對象。
在需要的時候(用戶操作驅動), 車載設備會反復調用MediaBrowserService的onLoadChildren()函數來載入整個媒體樹狀結構。
歡迎訂閱App開發日報
2015-03-08(加長版 5條)
iOS 開發知識與能力體系
如何檢測一個APP:從解密到批量獲取他人信息
Material Design風格安卓對話框
NativeScript構建原生應用
Android性能優化典范
車載應用Android Auto
Android Auto 此文檔包含二部分內容: 1. AndroidAuto車載模擬器的搭建和配置,APP調試測試方法。 2. 創建我的第一個Android Auto車載應用。 ...
作者:appdevdaily
來源:CSDN
原文:https://blog.csdn.net/appdevdaily/article/details/44156135
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
日期:2018-10 瀏覽次數:7253
日期:2018-12 瀏覽次數:4328
日期:2018-07 瀏覽次數:4876
日期:2018-12 瀏覽次數:4174
日期:2018-09 瀏覽次數:5502
日期:2018-12 瀏覽次數:9922
日期:2018-11 瀏覽次數:4804
日期:2018-07 瀏覽次數:4578
日期:2018-05 瀏覽次數:4859
日期:2018-12 瀏覽次數:4324
日期:2018-10 瀏覽次數:5139
日期:2018-12 瀏覽次數:6212
日期:2018-11 瀏覽次數:4464
日期:2018-08 瀏覽次數:4592
日期:2018-11 瀏覽次數:12629
日期:2018-09 瀏覽次數:5579
日期:2018-12 瀏覽次數:4831
日期:2018-10 瀏覽次數:4187
日期:2018-11 瀏覽次數:4528
日期:2018-12 瀏覽次數:6063
日期:2018-06 瀏覽次數:4007
日期:2018-08 瀏覽次數:5436
日期:2018-10 瀏覽次數:4457
日期:2018-12 瀏覽次數:4525
日期:2018-07 瀏覽次數:4362
日期:2018-12 瀏覽次數:4500
日期:2018-06 瀏覽次數:4383
日期:2018-11 瀏覽次數:4375
日期:2018-12 瀏覽次數:4249
日期:2018-12 瀏覽次數:5283
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.