一种音频播放方法、系统、电子设备及存储介质技术方案

技术编号:37405998 阅读:17 留言:0更新日期:2023-04-30 09:32
本发明专利技术实施例公开一种音频播放方法、系统、电子设备及存储介质。该方法包括:创建共享硬件中第一操作系统和第二操作系统对应的共享内存,确定第一操作系统内用户空间的待播放音频数据在共享内存中对应的第一虚拟地址变量,并按照第一虚拟地址变量将待播放音频数据存储至共享内存中,并通过第二操作系统确定待播放音频数据在共享内存中对应的第二虚拟地址变量,并根据第二虚拟地址变量从共享内存中读取待播放音频数据,并通过第二操作系统连接的硬件资源播放待播放音频数据。本发明专利技术实施例,通过依据各操作系统分别对应的虚拟变量地址读取并播放待播放音频数据,能够有效解决多核异构之间播放音频数据的需求,实现跨域音频播放功能。播放功能。播放功能。

【技术实现步骤摘要】
一种音频播放方法、系统、电子设备及存储介质


[0001]本专利技术涉及电子
,尤其涉及一种音频播放方法、系统、电子设备及存储介质。

技术介绍

[0002]众所周知,多媒体音频已经深入到人们生活的方方面面,尤其是在车联网领域,汽车的车载音频可以非常好的起到缓减驾驶疲劳的作用,还能做到智能化的人机交互,对行车安全也非常重要。音频娱乐功能已经成为了是人们在行车过程中的不可或缺的高频需求。
[0003]当前,嵌入式系统芯片(System

on

a

chip,SoC)很多都是多核异构处理器,在一个SOC上需要运行多个操作系统,如一款SOC有4个A76核和2个A55核,其中A76核中央处理器(central processing unit,CPU)运行Android操作系统,A55核CPU运行Linux操作系统。但是音频的硬件模块,往往只有一个,正常情况下,两个不同域的操作系统播放音频数据时,都需要访问音频的硬件模块,通过音频的硬件模块来传输音频数据以及播放音频数据,但是往往同时只有一个域能访问控制器硬件资源,没有分配到控制器硬件资源的域,在系统运行期间造成只有一个操作系统能够正常播放音频数据,另一个操作系统无法访问控制器硬件资源,无法正常播放音频数据,这无疑会造成产品和功能设计的缺陷,急需要通过一种行之有效的方法来解决多个操作系统进行播放音频的需求。

技术实现思路

[0004]有鉴于此,本专利技术提供一种音频播放方法、系统、电子设备及存储介质,能够有效解决多核异构之间播放音频数据的需求,实现跨域音频播放功能。
[0005]根据本专利技术的一方面,本专利技术实施例提供了一种音频播放方法,该方法应用于片上系统,所述音频播放方法,包括:
[0006]创建共享硬件中所述第一操作系统和所述第二操作系统对应的共享内存;
[0007]通过所述第一操作系统确定待播放音频数据在所述共享内存中对应的第一虚拟地址变量,并按照所述第一虚拟地址变量将所述待播放音频数据存储至所述共享内存中;
[0008]通过所述第二操作系统确定待播放音频数据在所述共享内存中对应的第二虚拟地址变量,并根据所述第二虚拟地址变量从所述共享内存中读取并播放所述待播放音频数据,其中,所述第一虚拟地址变量和所述第二虚拟地址变量对应所述共享内存的相同区域。
[0009]根据本专利技术的另一方面,本专利技术实施例还提供了一种音频播放系统,该系统包括:
[0010]第一操作系统、第二操作系统和共享内存,其中,所述第一操作系统和所述第二操作系统共同连接所述共享内存;
[0011]所述第一操作系统,与所述共享内存相连,用于确定待播放音频数据在所述共享内存中对应的第一虚拟地址变量,并按照所述第一虚拟地址变量将所述待播放音频数据存储至所述共享内存中;
[0012]所述第二操作系统,与所述共享内存相连,用于确定待播放音频数据在所述共享内存中对应的第二虚拟地址变量,并根据所述第二虚拟地址变量从所述共享内存中读取并播放所述待播放音频数据,其中,所述第一虚拟地址变量和所述第二虚拟地址变量对应所述共享内存的相同区域。
[0013]所述共享内存,分别与所述第一操作系统和所述第二操作系统相连,用于存储所述待播放音频数据,并在所述第一操作系统和所述第二操作系统之间传输所述待播放音频数据。
[0014]根据本专利技术的另一方面,本专利技术实施例还提供了一种电子设备,所述电子设备包括:
[0015]如本专利技术任一实施例所述的音频播放系统;
[0016]所述音频系统能够执行本专利技术任一实施例所述的音频播放方法。
[0017]根据本专利技术的另一方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的音频播放方法。
[0018]本专利技术实施例的技术方案,通过创建共享硬件中第一操作系统和第二操作系统对应的共享内存,确定第一操作系统内用户空间的待播放音频数据在共享内存中对应的第一虚拟地址变量,并按照第一虚拟地址变量将待播放音频数据存储至共享内存中,并通过第二操作系统确定待播放音频数据在共享内存中对应的第二虚拟地址变量,并根据第二虚拟地址变量从共享内存中读取待播放音频数据,并通过第二操作系统连接的硬件资源播放待播放音频数据,能够有效解决多核异构之间播放音频数据的需求,实现跨域音频播放功能。
[0019]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为本专利技术一实施例提供的一种音频播放方法的流程图;
[0022]图2为本专利技术一实施例提供的一种创建共享内存方法的流程图;
[0023]图3为本专利技术一实施例提供的又一种音频播放方法的流程图;
[0024]图4为本专利技术一实施例提供的又一种音频播放方法的流程示意图;
[0025]图5为本专利技术一实施例提供的一种音频播放系统的结构框图;
[0026]图6为本专利技术一实施例提供的另一种音频播放系统的结构框图;
[0027]图7为本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0028]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是
本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0029]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0030]在一实施例中,图1为本专利技术一实施例提供的一种音频播放方法的流程图,本实施例可适用于待播放音频数据进行跨域播放时的情况,该方法可以由音频播放系统来执行,该音频播放系统可以采用硬件和/或软件的形式实现,该音频播放系统可配置于电子设备中。本实施例中的音频播放方法,应用于片上系统。...

【技术保护点】

【技术特征摘要】
1.一种音频播放方法,其特征在于,应用于片上系统,所述音频播放方法,包括:创建共享硬件中所述第一操作系统和所述第二操作系统对应的共享内存;确定所述第一操作系统内用户空间的待播放音频数据在所述共享内存中对应的第一虚拟地址变量,并按照所述第一虚拟地址变量将所述待播放音频数据存储至所述共享内存中;通过所述第二操作系统确定待播放音频数据在所述共享内存中对应的第二虚拟地址变量,根据所述第二虚拟地址变量从所述共享内存中读取所述待播放音频数据,并通过所述第二操作系统连接的硬件资源播放所述待播放音频数据,其中,所述第一虚拟地址变量和所述第二虚拟地址变量对应所述共享内存的相同区域。2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:根据所述第一操作系统和所述第二操作系统共享音频参数对象;所述根据所述第一操作系统和所述第二操作系统共享音频参数对象,包括:确定所述第一操作系统中rpmsg端点对象对应的第一文件描述符;依据所述第一文件描述符将所述第一操作系统预先构建的音频参数对象发送至所述第二操作系统进行检查确认;确定所述第二操作系统中rpmsg端点对象对应的第二文件描述符;依据所述第二文件描述符读取所述第一操作系统发送的所述音频参数对象,对所述音频参数对象进行检测确认以得到对应的检测确认结果,并将所述检测确认结果发送至所述第一操作系统。3.根据权利要求1所述的方法,其特征在于,所述创建共享硬件中所述第一操作系统和所述第二操作系统对应的共享内存,包括:确定对应所述第一操作系统和所述第二操作系统的保留内存;其中,所述保留内存为物理内存;将所述保留内存作为所述第一操作系统和所述第二操作系统对应的共享内存。4.根据权利要求1所述的方法,其特征在于,所述确定所述第一操作系统内用户空间的待播放音频数据在所述共享内存中对应的第一虚拟地址变量,并按照所述第一虚拟地址变量将所述待播放音频数据存储至所述共享内存中,包括:确定所述共享内存对应的设备节点并得到对应的第三文件描述符;依据所述第三文件描述符将所述共享内存地址映射到第一用户空间作为所述第一用户空间直接使用的第一虚拟地址变量;依据所述第一虚拟地址变量对所述待播放音频数据进行写入操作,以将所述待播放音频数据存储至所述共享内存中。5.根据权利要求4所述的方法,其特征在于,所述依据所述第一虚拟地址变量对所述待播放音频数据进行写入操作,以将所述待播放音频数据存储至所述共享内存中,包括:确定所述待播放音频数据对应的预设传输音频大小;将所述传输音频大小写入所述共享内存对应的所述第一虚拟地址变量中,并将所述待播放音频数据作为当前待播放音频数据并判断所述当前待播放音频数据的写入操作是否完成;若所述当前待播放音频数据写入操作完成,则重新将所述写入操作设置为初始值,继
续开始下一轮循环计数;若所述当前待播放音频数据写入操作未完成,则将下一待播放音频数据作为当前待播放音频数据,并更新所述当前待播放音频数据写入操作对应的第一下标值,返回继续所述待播放音频数据写入操作,直至所有待播放音频数据全部写入完成。6.根据权利要求1所述的方法,其特征在于,所述通过所述第二操作系统确定待...

【专利技术属性】
技术研发人员:康克勤
申请(专利权)人:亿咖通湖北技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1