








【歡迎引用】 王利偉, 呂貴林, 高洪偉, 等. 車載娛樂系統多音源融合服務設計與實現[J]. 汽車文摘,2024(8): 35-42.
【Cite this paper】 WANG L W, Lü G L, GAO H W, et al. Design and Implementation of Multi-media Source Fusion Service Based on In-Vehicle Infotainment System[J]. Automotive Digest (Chinese), 2024(8): 35-42.
【摘要】鑒于在車載系統環境中,用戶需要多種多媒體音源并存,需要為用戶提供一種統一交互體驗的車載多媒體服務,降低用戶的學習成本,提供極致的視聽服務。本文闡述了一種通過融合架構、系統分層、模塊提取等技術實現多音源融合的應用設計方式,有效解決了各種音源獨立設計帶來的交互體驗不一致、跨應用跳轉、通用內容模塊重復開發等問題,提升了車載交互體驗、系統交互一致性和開發效率。
關鍵詞:融合架構;系統分層架構;模塊提??;多音源融合;車載多媒體
中圖分類號:U463.6" "文獻標志碼:A" DOI: 10.19822/j.cnki.1671-6329.20230008
Design and Implementation of Multi-media Source Fusion Service Based on In-Vehicle Infotainment System
Wang Liwei1,2, Lü Guilin1,2, Gao Hongwei1,2, Fan Lijuan1,2
(1.Global Ramp;D Center, China FAW Corporation Limited, Changchun 130013; 2.National Key Laboratory of Advanced Vehicle Integration and Contrlo, Changchun 130013)
【Abstract】 In view of in-vehicle system environment, users need a variety of multimedia audio sources coexist, which is necessary to provide users with a unified interactive experience of in-vehicle multimedia services, so as to reduce users’ learning costs, and provide the ultimate audio-visual services. This paper describes an application design method that fosters a unified interactive experience for in-vehicle multimedia services by utilizing techniques such as integrated architecture, systematic hierarchical structure, and modular extraction to achieve multi-source audio fusion. The proposed method effectively addresses challenges including inconsistencies in user interaction experiences, seamless transitioning across applications, and the repetition of development for universal content modules that arise from the independent design of various audio sources, and effectively improves in-vehicle interactive experience, system interaction consistency and development efficiency.
Key words: Fusion architecture, System layering architecture, Module extraction, Multi-media source fusion, In-Vehicle multimedia
0 引言
當今時代,汽車已不是單純出行代步工具[1],更是一個滿足用戶娛樂需求的智能終端和智能空間,車載娛樂系統性能越來越強大,功能和內容越來越豐富。在人車共駕的情況下,用戶對于音樂、電臺等音源的視聽需求強烈[2]。若每種音源通過獨立應用的形式呈現給用戶,會導致入口分散、交互體驗不統一的問題。可以通過多種生態資源支撐同類內容為用戶提供統一的內容管理和模塊管理。
目前國內外對于車載娛樂系統的研究也較為豐富,朱芙蓉等[3]提出,整體車載娛樂系統的開發模式采用分層架構,軟件分為應用層、框架層、系統服務層和系統庫。該方案提升了系統效率、確保邏輯一致性、確保功能延續和迭代、實現模塊解耦等。黃嘉桐等[4]設計了多種音源混合播放的策略,包含多媒體音源、通話、語音、導航等聲音的播放處理,其中多媒體音源的混音策略是相同的。本文的多音源融合方案同樣采用系統分層的思路,鑒于多種音源在車載端具有更多相同屬性,應建立多種音源的播放控制、音頻搶占、交互邏輯、內容顯示、聲音控制、聲音恢復、內容緩存、數據加載等統一處理機制。
本文建立了一種多音源融合服務機制,實現通用內容組件化、上層服務模塊解耦的模式,優化了資源管理,提高多媒體服務的整體性、復用性和擴展性。
1 多音源融合服務設計
1.1 方案設計
基于安卓系統的音源播放應用軟件(Application,APP)產品設計和開發技術已經相對成熟,并致力于為用戶提供更優體驗[5]。在車載空間內需要豐富的多媒體資源以滿足用戶在不用場景下的娛樂需求。例如,早上通勤時,駕駛員可以選擇收聽新聞資訊;遇到交通擁堵時可以播放舒緩的音樂放松心情;通過藍牙實現手機與車載系統實時切換,使駕乘人員能夠在上車后繼續收聽之前在手機上播放的音頻內容,確保娛樂體驗的連貫性。隨著車聯網的發展,車內音頻呈現去APP化、伴聽式、不間斷、個性化特點,可以將音樂、電臺、新聞等多種音源融合,滿足不同用戶需求,避免頻繁切換應用,實現輕交互,方便用戶操作,保證行車安全[6]。此外,可以根據用戶的偏好進行智能推薦和場景化服務,在手機和車機間實時切換,不間斷地享受視聽服務。聚合在線音樂、藍牙音樂[7]、U盤音樂、收音機、在線電臺、品牌電臺等音源內容,提供內容多樣,形式統一的融合服務,可以更好地滿足用戶的差異性需求,提升用戶體驗。
多音源融合的關鍵是多音源在相同屬性內容中采用統一策略,包括統一的播放器卡片、全屏播放器頁面、展示框架、圖層管理、斷點續播(Lastsource)策略、音源搶占策略、數據同步策略、賬戶互通策略、語音控制策略、頁面緩存策略。通過實行統一策略可以提升系統穩定性,降低軟件冗余,提升系統流暢性和資源利用率[8]。
此外,系統模塊化、分層化和標準化設計可以使軟件的基礎能力和業務層實現有效解耦,實現架構可擴展,業務層更靈活。模塊化設計是指抽取通用的服務能力,形成網絡服務、日志服務、推送服務、車輛服務等通用模塊,應用層開發了音樂、電臺等應用產品,實現了高內聚低耦合,方便模塊間組合、分解。分層化設計是指在硬件驅動層和操作系統層[9]之上劃分基礎組件層、通用服務層、應用層3層設計?;A組件層提供基礎軟件能力及對系統接口標準化封裝;通用服務層通過基礎組件層封裝,為應用層提供通用的軟件服務能力,作為后臺應用服務在系統中運行,各服務之間相互解耦;應用層負責所有的頁面展示及交互邏輯。各層級之間縱向依賴、橫向解耦。標準化接口采用接口適配層方案,在基礎組件層對系統提供的接口進行封裝,通用服務層提供適配層服務在系統后臺運行,對上層應用提供標準化的接口,消除不同車載信息娛樂系統平臺之間的系統差異性,實現了車載多媒體服務平臺快速迭代。
1.2 架構設計
多音源融合服務架構設計采用模塊化、分層化和標準化的設計模式。
圖1為車載多媒體架構,整體架構設計中包含車載多媒體應用層、通用服務層和基礎組件層。應用層展示了多種車載多媒體應用,包括欄目展示、推薦服務、排行、分類、搜索和個人中心等。用戶可以通過音源選擇器匯總、查看音源或切換音源頁面。在此設計中,不同音源共用播放器卡片和全屏播放器[10]。播放器卡片是系統中快捷輕型的多媒體控制載體,可實現對任何一種音源提供媒體控制(播放或暫停、切歌、收藏)、信息顯示(歌單封面、歌曲名、歌手名)和狀態顯示(播放狀態、進度條),可根據不同音源的特性展示不同內容。全屏播放器是一種更加沉浸的多媒體顯示和控制載體,其可更加豐富地實現播放控制,如倍速、播放模式、進度控制,還可以提供播放列表、歌詞和播放設置。本方案提出的統一展示框架和圖層關系如圖2所示。音源共用播放器卡片,并按照相同的規則在內容呈現區展示不同層級的內容。通用服務層包括車載多媒體服務和內容提供者2個模塊。車載多媒體服務是音頻核心服務層,其在系統開機時實現自啟動并在后臺持續運行,負責管理音樂、電臺、新聞等音頻內容,還為非音頻的外域模塊提供媒體管理功能。
車載多媒體服務模層3個主要組件構成:核心業務視圖模型、多媒體代理和媒體管理。在核心業務組件中,多媒體服務核心視圖模型負責管理和控制所有音源控制器和音源瀏覽服務。多媒體瀏覽視圖模型對音源訂閱數據進行視圖模型封裝,供業務邏輯使用。音源監控視圖模型對當前正在播放的音源和當前正在瀏覽的音源進行管理和監聽。音源切換視圖模型負責對多媒體控制的視圖進行封裝。音源緩存視圖模型負責實現音源頁面的緩存管理。音源安裝卸載視圖模型對各音源應用的安裝和卸載進行監聽和管理。多媒體代理組件負責處理整個多媒體架構以各音源服務中共享的內容。其中數據同步管理器負責將播放狀態和播放信息同步給其他域(如儀表、語音)??梢娂纯烧f數據注冊服務確保了音源界面的內容注冊和監聽響應。音源協議負責定義媒體訂閱協議和自定義行為協議。媒體管理包含播放器管理器、語音交互管理器、硬按鍵管理器、儀表信息同步管理器、斷點續播管理器、行車場景對接管理器和域能力管理器。各管理器功能如下:(1)播放器管理器負責管理播放卡片、切換全屏播放器狀態以及播放列表、歌詞、設置界面顯示和隱藏的邏輯。(2)語音交互管理器負責對接語音交互,語音主動控制命令的接收解析和域能力調用。通過統一的音源域能力為用戶提供多音源的語音主動控制功能。(3)硬按鍵管理器負責對接多媒體內容硬按鍵輸入控制(如轉向盤、智能表面)。(4)儀表信息同步管理器負責將當前的多媒體信息同步至儀表中進行聯動顯示。(5)Lastsource管理器負責識別并保存上一次訂閱和播放的音源。(6)行車場景對接管理器負責對接場景模塊,實現場景控制命令的接收解析和域能力調用。(7)域能力管理器負責實現當前音源域能力管理。
在基礎組件層,多媒體功能采用系統中統一的網絡服務、車輛服務、消息推送服務、日志服務、場景服務和適配層服務等基礎組件,完成多媒體聯網功能、車速場景功能、系統內多媒體消息推送功能、日志采集功能、智能推薦場景服務和對不同系統和車型的適配層服務。
2 關鍵策略
2.1 音源顯示及播放策略
系統內集成的各個音源會按照統一策略確定播放音源和瀏覽頁面。如圖3所示,音源列表監聽音源獲取安裝卸載狀態并通過音源選擇器呈現給用戶,用戶選擇音源后可獲得對應的音源頁面內容。當CP服務處于激活狀態,多媒體控制器會輸出播放列表,同時車載多媒體視圖模型識別并確定當前播放音源。為了向用戶提供詳細信息,所有音源通過統一播放器卡片和全屏播放器進行展示。音源頁面通過統一的框架進行展示,通過配置和訂閱方式構建框架的層級結構(一級目錄、二級目錄、三級目錄),即瀏覽內容通過訂閱方式訪問到媒體服務,觸發媒體服務根據媒體名稱通過音源服務獲取不同的數據。媒體名稱定義以及功能說明如表1所示。如在線音樂展示的目錄框架是通過表中的方式訂閱展示,其一級目錄可以展示推薦、歌手、排行、分類和搜索等模塊。通過此方式可以實現框架熱更新,即在云端更新訂閱表,然后車載應用端接收訂閱表并更新框架中各級目錄的展示內容,可按照用戶偏好的目錄進行排序并及時更新模塊內容[11]。
針對多車型及不同適用群體的需求,本方案設計了一種可配置的音源種類。按照車型配置要求,獲取到具備要搭載的音源,生成音源配置文件。
[
{
\"packageName\": \"ltd.qisi.localmusic|ltd.qisi.bt|0\",
\"displayName\": \"本地音樂/藍牙音樂\",
\"iconUrl\": \"https://***.png\",
\"cpArray\": [
\"ltd.qisi.localmusic.MediaService\",
\"ltd.qisi.bt.MediaService\"
],
\" mbedded\": true
},
{
\"packageName\": \"ltd.qisi.ximalayaservice|ltd.qisi.hqradioservice|ltd.qisi.broadcast|0\",
\"displayName\": \"在線電臺\",
\"iconUrl\": \"https://***.png\",
\"cpArray\": [
\"ltd.qisi.ximalayaservice.XimalayaService\",
\"ltd.qisi.hqradioservice.service.HQRadioService\"
],
\" mbedded\": true
}
]
每種音源信息包括多媒體來源、包名、圖標、顯示名稱。在用戶交互界面,音源選擇器根據配置文件向用戶展示可供選擇的音源,用戶選擇其中一種音源進行媒體瀏覽,音源名稱按照音源配置文件中的名稱顯示。音源選擇器的使用不會改變播放器中當前展示內容,只有用戶選定某一音源并開始播放后,播放器才會同步更新并展示該音源內容。
2.2 斷電重啟播放策略
信息娛樂系統關機前,車載多媒體服務會記錄最近播放音源和播放狀態。每個音源服務相應保存Lastsource信息,包括播放列表和最后播放的媒體內容。系統下一次開機時,首先執行車載多媒體服務初始化,音源服務控制器會輸出上一次播放狀態、播放列表和播放內容。音源服務會根據當前車輛工作狀態決定是否播放Lastsource。
車輛工作狀態分為工作狀態和非工作狀態。非工作狀態包括車輛下電狀態、車輛休眠狀態、系統未登錄狀態、系統升級(Over The Air,OTA)狀態、車輛遠程模式狀態、軟件升級(Software Over The Air,SOTA)狀態,除此之外的其他狀態都被視為工作狀態。當車輛由非工作狀態恢復為工作狀態時,音源Lastsource將恢復播放。
2.3 音源搶占策略
表2展示了音源申請相同類型的聲音通道及多媒體類型。系統音源焦點負責管理音頻播放,只有獲取焦點的應用程序才能夠播放音頻。每個CP播放器獨立地處理音頻焦點分配,如音樂模塊播放音樂前需要獲取音頻焦點。音頻焦點分為短暫音頻焦點和長期音頻焦點,而音源播放均需獲得長期音頻焦點。音頻焦點的控制受系統音頻焦點控制,與系統內制定的應用優先級有關。例如當語音播報正在進行時,多媒體聲音會根據壓音處理原則被抑制。一旦丟失焦點,系統將通知相關應用程序,播放音源暫停并緩存播放歌曲進度。應用程序將等待系統通知,以便再次獲取音頻焦點后繼續播放音源。
2.4 數據同步策略
數據同步策略是指對音源將信息狀態進行同步管理,用于儀表板以及主駕、副駕、后排娛樂屏的同步顯示和控制需求。表3列出了部分多媒體數據同步狀態結構,共享音源及播放狀態、賬戶狀態、前臺應用等數據供其他域功能使用。當音源服務數據實時更新,相應的數據項也得到即時更新,確保了信息流的一致性和準確性。這一機制特別適用于座艙空間內屏幕,可以有效支持播放內容同步顯示,允許在多屏控制音源媒體。數據處理域模塊負責提供和更新數據塊,多媒體服務提供播放狀態和音源,子音源提供賬戶綁定狀態。
2.5 賬戶互通策略
通過綁定車載賬號體系與多媒體音源賬戶實現賬號信息和權益的互通,將用戶手機上的收藏夾、歷史記錄以及VIP權益等信息同步到車載信息娛樂系統,實現三方賬號無感登錄,用戶在開機時即可完成綁定賬號登錄,更新音源應用的數據信息和相關權益。
2.6 語音控制策略
針對不同音源使用統一語音控制策略,語音控制功能分為2類:(1)應用控制類,如通過語音打開或關閉音樂應用,進入播放器頁面,打開在線電臺的分類頁面;(2)播放控制類,如通過語音播放或暫停歌曲、收藏專輯、收聽廣播電臺等[12]。
應用控制類語音控制功能采用安卓原生的深度鏈接(Deeplink)技術,允許用戶通過語音指令訪問音源的一級目錄頁面,如通過語音指令訪問音樂搜索頁面。具體實現方法如表4所示,其中多媒體ID對應一級目錄,是鏈接至相應頁面的關鍵(僅在語音指令是打開具體頁面情況下)。針對播放控制類,本方案生成媒體控制自定義方法,包括“隨便聽聽“、“播放、繼續播放或暫停”、“退出”、“重播”、“快進或快退”、“上一曲或下一曲”、“切換播放模式”、“切換音質”、“切換音效”、“刪除播放列表中的內容”、“當前播放內容信息詢問”等。
多音源融合的語音控制流程如圖4所示。首先,當語音控制內容為應用控制時,系統需判斷語音指令是否包含指定音源。若不包含則使用最近播放的音源。接下來,系統將判斷此音源是否已安裝,若未安裝則通過語音播放提示“沒有此功能”并結束流程。若此音源存在,則繼續識別是否為關閉音源頁面的指令,如果是則判斷應用是否在前臺。若應用在前臺則發起深度鏈接關閉頁面和應用。若應用不在前臺則結束流程。若語音指令不是關閉頁面系統則發起深度鏈接到子頁面。在此過程中,系統監聽用戶是否進行多輪語音控制。在進行應用控制后立即進行播放控制,若沒有播放控制需求則會獲取最近的播放音源,不改變狀態。若識別到播放控制需求則判斷當前多媒體控制器是否為語音指令中的指定音源,若是,判斷當前音源播放狀態并進行媒體控制;若不是語音指定源則獲取最近播放音源進行媒體控制。
2.7 頁面緩存策略
由于安卓系統在計算環境和網絡資源方面的限制,應用緩存技術對提高數據訪問效率尤為重要[13]。本方案設計了一個適用于多音源頁面的統一頁面緩存機制和數據刷新機制,其整體流程如圖5所示。
為滿足整體緩存和數據刷新機制要求,本方案定義了一套協議。首先,頁面端在請求數據時,必須指定多媒體瀏覽服務所需獲取的數據類型,包括:僅本地數據、僅網絡數據、或同時需要本地數據和網絡數據。
其次,多媒體瀏覽服務向頁面返回數據時,需要附帶數據特定狀態,以便界面根據不同的狀態進行頁面展示。數據狀態包括5種:(1)加載中。本地數據成功返回,狀態為加載中。此時,界面展示緩存數據并顯示加載中效果,提示用戶刷新數據。(2)成功。本地或網絡數據返回成功,此時界面上可以更新為最新數據。(3)本地數據為空。本地數據為空表明緩存數據為空,界面顯示“加載中”,等待更新網絡數據。(4)網絡數據為空。當網絡數據為空時會根據具體情況展示異常頁面。(4)錯誤。獲取數據失敗,同時返回錯誤碼。
音源具體的頁面數據緩存機制包括2種情況。用戶首次進入頁面時,頁面向多媒體瀏覽服務訂閱數據。多媒體瀏覽服務需要同時獲取本地數據和網絡數據。(1)若本地數據庫沒有數據時,多媒體瀏覽器將返回本地數據為空狀態,界面上展示頁面級別的加載中效果,此時界面會等待網絡數據結果。當網絡數據正常返回時,最新數據會被存儲到本地。多媒體瀏覽服務會發送一個會話事件,標識此次網絡數據獲取成功,并通知頁面再次訂閱數據。此次訂閱只需從本地數據庫中讀取最新的數據。此時從本地數據庫返回的數據為成功狀態,頁面會隱藏加載中狀態并展示最新數據。若網絡數據出現異常時(空數據或失敗),多媒體瀏覽服務同樣會發送一個會話事件,標識此次網絡數據獲取失敗,頁面接收到此事件后,不再展示訂閱數據并顯示數據異常。(2)若本地數據庫存在數據,多媒體瀏覽器將返回加載中狀態,并在界面上顯示緩存數據,同時展示刷新的“加載中”效果,提示用戶正在刷新最新數據,此時界面仍在等待最新的網絡數據結果。當網絡數據正常返回時,會將最新數據存儲到本地。多媒體瀏覽服務會發送一個會話事件,標識此次網絡數據獲取成功并通知頁面再訂閱一次數據數據訂閱和網絡數據獲取異常處理與情況(1)相同。
此外,用戶還可以手動刷新頁面數據。多媒體瀏覽服務需要獲取網絡數據,請求有3種結果:成功、網絡數據為空、錯誤。界面會根據相應狀態進行更新提示。根據具體的業務邏輯,在網絡數據獲取成功的回調中決定是否需要將網絡數據存儲到本地數據庫。
3 結束語
本文提出了一種車載信息娛樂系統多音源融合服務的設計方案,適用于車內融合多種多媒體音源的場景,整體設計更加統一,更加貼合用戶使用習慣。融合音源的設計提升了開發效率,規避了各應用獨立開發的代碼冗余和重復的邏輯漏洞及錯誤,確保了不同應用服務在網絡狀態判斷、數據加載界面提示的一致性,實現了多種音源的統一的播放控制、音頻搶占、交互邏輯、內容顯示、聲音控制、聲音恢復、內容緩存等機制。
融合多種優質生態資源在座艙空間內為用戶提供沉浸式的娛樂視聽體驗本方案已跟隨車型量產搭載,已應用在紅旗H9、E-HS9、HS5、HS7、H5、H6等10多種車型,支持后續車型的平臺化沿用。該設計可解決不同音源交互體驗不一致、策略不統一、應用間反復跳轉等用戶體驗差的問題和功能重復開發的問題,提升了信息娛樂系統的易用性和智能性。
參 考 文 獻
[1] 趙文棣, 黃紅藍, 李豪, 等. 車載信息娛樂系統框架介紹及發展概述[J]. 汽車電器, 2021(6): 7-9.
[2] 紀文煜. 智能汽車出行娛樂系統需求分析及系統設計研究[J]. 信息通信, 2020(8): 102-105.
[3] 朱芙蓉,劉敏,秦文貞.車載信息娛樂系統開發模式現狀與未來趨勢分析[J]. 汽車電器, 2021(12): 33-35
[4] 黃嘉桐,回姝,丁冠源,鄭紅麗.基于用戶體驗的車載信息娛樂系統音頻架構設計[J]. 汽車文摘, 2023(6): 32-36.
[5] 劉祥臻, 王紅梅, 徐明澤, 等. 基于安卓平臺的車載語音控制智能音樂播放器[J]. 科技技術創新, 2020(11): 59-60.
[6] 張曉聰. 汽車智能座艙發展現狀及未來趨勢[J]. 汽車縱橫, 2019(8): 42-45.
[7] 吳云峰. 基于Linux的車載信息娛樂系統的音頻設計與實現[J]. 信息通信, 2019(4): 91-92.
[8] 朱芙蓉, 劉敏, 秦文貞. 車載信息娛樂系統軟件優化與改進[J]. 汽車實用技術, 2021(23): 23-25.
[9] 回姝, 鄭紅麗, 顧瑩. 汽車智能座艙發展趨勢下的機遇和挑戰[J]. 汽車文摘, 2022(5): 7-11.
[10] 王詠梅. 基于Android平臺的音樂播放軟件的設計與開發[J]. 電腦知識與技術, 2018(30): 82-83.
[11] DEN OORD A V, DIELEMAN S, SCHRAUWEN B, et al. Deep Content-based Music Recommendation[C]//NIPS'13: Proceedings of the 26th International Conference on Neural Information Processing Systems, 2013: 2643-2651.
[12] SOO T K, HYUN K J K, HO J C. The Effect of Barge-in Function of In-Vehicle Voice Conversational Interface on Driving Experience-Focus on Car Navigation and Music Services[J]. Design Convergence Study, 2018(17): 17-28.
[13] SHENG Y P, DAI R T. The Research on building cache for Android platform using soft references[J]. 無線互聯科技, 2013(7):17-28.
(責任編輯 梵玲)