【欢迎引用】 王利伟, 吕贵林, 高洪伟, 等. 车载娱乐系统多音源融合服务设计与实现[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层设计。基础组件层提供基础软件能力及对系统接口标准化封装;通用服务层通过基础组件层封装,为应用层提供通用的软件服务能力,作为后台应用服务在系统中运行,各服务之间相互解耦;应用层负责所有的页面展示及交互逻辑。各层级之间纵向依赖、横向解耦。标准化接口采用接口适配层方案,在基础组件层对系统提供的接口进行封装,通用服务层提供适配层服务在系统后台运行,对上层应用提供标准化的接口,消除不同车载信息娱乐系统平台之间的系统差异性,实现了车载多媒体服务平台快速迭代。
1.2 架构设计
多音源融合服务架构设计采用模块化、分层化和标准化的设计模式。
图1为车载多媒体架构,整体架构设计中包含车载多媒体应用层、通用服务层和基础组件层。应用层展示了多种车载多媒体应用,包括栏目展示、推荐服务、排行、分类、搜索和个人中心等。用户可以通过音源选择器汇总、查看音源或切换音源页面。在此设计中,不同音源共用播放器卡片和全屏播放器[10]。播放器卡片是系统中快捷轻型的多媒体控制载体,可实现对任何一种音源提供媒体控制(播放或暂停、切歌、收藏)、信息显示(歌单封面、歌曲名、歌手名)和状态显示(播放状态、进度条),可根据不同音源的特性展示不同内容。全屏播放器是一种更加沉浸的多媒体显示和控制载体,其可更加丰富地实现播放控制,如倍速、播放模式、进度控制,还可以提供播放列表、歌词和播放设置。本方案提出的统一展示框架和图层关系如图2所示。音源共用播放器卡片,并按照相同的规则在内容呈现区展示不同层级的内容。通用服务层包括车载多媒体服务和内容提供者2个模块。车载多媒体服务是音频核心服务层,其在系统开机时实现自启动并在后台持续运行,负责管理音乐、电台、新闻等音频内容,还为非音频的外域模块提供媒体管理功能。
车载多媒体服务模层3个主要组件构成:核心业务视图模型、多媒体代理和媒体管理。在核心业务组件中,多媒体服务核心视图模型负责管理和控制所有音源控制器和音源浏览服务。多媒体浏览视图模型对音源订阅数据进行视图模型封装,供业务逻辑使用。音源监控视图模型对当前正在播放的音源和当前正在浏览的音源进行管理和监听。音源切换视图模型负责对多媒体控制的视图进行封装。音源缓存视图模型负责实现音源页面的缓存管理。音源安装卸载视图模型对各音源应用的安装和卸载进行监听和管理。多媒体代理组件负责处理整个多媒体架构以各音源服务中共享的内容。其中数据同步管理器负责将播放状态和播放信息同步给其他域(如仪表、语音)。可见即可说数据注册服务确保了音源界面的内容注册和监听响应。音源协议负责定义媒体订阅协议和自定义行为协议。媒体管理包含播放器管理器、语音交互管理器、硬按键管理器、仪表信息同步管理器、断点续播管理器、行车场景对接管理器和域能力管理器。各管理器功能如下:(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.
(责任编辑 梵玲)