一种协调各个播放器服务并抢占ALSA资源的方法技术

技术编号:37880700 阅读:20 留言:0更新日期:2023-06-15 21:08
本发明专利技术公开了一种协调各个播放器服务并抢占ALSA资源的方法,所述方法包括:S010,启用服务器,所述服务器接收来自播放器的信息,并向播放器发送信息;S020,某一播放器向所述服务器发送占用ALSA请求,所述服务器将对当前ALSA状态进行判断,此播放器记为请求播放器;S030,若所述服务器判断当前ALSA状态为占用状态,则所述服务器向占用ALSA资源的播放器发送释放资源命令,接收到所述释放资源命令的播放器进行ALSA资源的释放,ALSA资源释放完成后,所述服务器播放所述请求播放器的资源;S040,若所述服务器判断当前ALSA状态为未被占用状态,则所述服务器播放所述请求播放器的资源。实现用户无需手动对后台播放器进行暂停和释放ALSA资源,进而便于用户的使用。进而便于用户的使用。进而便于用户的使用。

【技术实现步骤摘要】
一种协调各个播放器服务并抢占ALSA资源的方法


[0001]本专利技术涉及到播放服务资源分配
,尤其涉及到一种协调各个播放器服务并抢占ALSA资源的方法。

技术介绍

[0002]ALSA是Advanced Linux Sound Architecture的缩写,是操作系统中负责处理音频的软件架构,用于管理和控制系统中的音频硬件设备,使应用程序能够与音频硬件设备进行通信。
[0003]Convswitch server是一种用于语音转码和接口对接的服务器,主要作用是实现不同语音系统之间的互通和交互(将一种语音编解码格式转换为另一种格式,从而使不同的语音系统能够相互通信和交互),作为中间件协调各个播放器的使用,并与前端交互界面对接。
[0004]人们在收录和播放音频资源时,经常会用到不同的音乐播放软件。目的是:通过使用各个音乐播放软件来进行音频资源上的互补,再是各个音乐播放软件对于外接设备(耳机、扬声器)的支持不同,各个音乐播放软件提供的音频输出质量也有所差异。而用户在使用移动设备进行音频播放时,若下一个音频文件或是当前音频文件需要切换播放器进行播放,现有的做法是先暂停当前播放器,然后对当前播放器占用的ALSA资源进行释放,在释放完成后,切换到对应的播放器,并使得此播放器占用释放出来的ALSA资源,然后通过此播放器进行音频播放,此切换过程较为麻烦,带给用户的体验也差。
[0005]结合上述,若是直接进行切换播放,不进行上一步的释放,则两个播放器的输出会混在一起,这样不仅影响用户体验,也会造成ALSA资源上的浪费;而部分ALSA资源本身不足或是ALSA资源已经处于高占用状态的设备,甚至可能会出现崩溃现象。
[0006]因此,亟需一种能够解决以上一种或多种问题的协调各个播放器服务并抢占ALSA资源的方法。

技术实现思路

[0007]为解决现有技术中存在的一种或多种问题,本专利技术提供了一种协调各个播放器服务并抢占ALSA资源的方法。本专利技术为解决上述问题采用的技术方案是:一种协调各个播放器服务并抢占ALSA资源的方法,所述方法包括:S010,启用服务器,所述服务器接收来自播放器的信息,并向播放器发送信息;
[0008]S020,某一播放器向所述服务器发送占用ALSA请求,所述服务器将对当前ALSA状态进行判断,此播放器记为请求播放器;
[0009]S030,若所述服务器判断当前ALSA状态为占用状态,则所述服务器向占用ALSA资源的播放器发送释放资源命令,接收到所述释放资源命令的播放器进行ALSA资源的释放,ALSA资源释放完成后,所述服务器播放所述请求播放器的资源;
[0010]S040,若所述服务器判断当前ALSA状态为未被占用状态,则所述服务器播放所述
请求播放器的资源。
[0011]进一步地,还包括:S031,接收到所述释放资源命令的播放器将对当前资源的播放进行暂停。虽然ALSA端已经不再对接收到所述释放资源命令的播放器的资源进行处理,但是部分播放器可能会继续进行读条处理或其他运算处理,此时需要暂停此播放器的处理动作,以节省硬件资源和记录保留此播放器处理资源的情况,以便于后续此播放器恢复播放被暂停的资源。
[0012]进一步地,所述服务器为Convswitch server。
[0013]本专利技术取得的有益价值是:本专利技术通过上述方法,实现了在用户同时打开多个播放器时,若用户切换播放器进行音频播放,则会自动暂停后台播放器的播放并释放出ALSA资源,同时利用释放出的ALSA资源来执行前台播放器的资源播放,使得用户无需手动对后台播放器进行暂停和释放ALSA资源,进而便于用户的使用。提高了用户在运行Convswitch server的操作系统上的使用体验。以上极大地提高了本专利技术的实用价值。
附图说明
[0014]图1为本专利技术的示意框图I;
[0015]图2为本专利技术的实施示意框图。
具体实施方式
[0016]为使本专利技术的上述目的、特征和优点能够更加浅显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于此描述的其他方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似改进,因此本专利技术不受下面公开的具体实施例限制。
[0017]如图1

图2所示,本专利技术公开了一种协调各个播放器服务并抢占ALSA资源的方法,所述方法包括:S010,启用服务器,所述服务器接收来自播放器的信息,并向播放器发送信息;
[0018]S020,某一播放器向所述服务器发送占用ALSA请求,所述服务器将对当前ALSA状态进行判断,此播放器记为请求播放器;
[0019]S030,若所述服务器判断当前ALSA状态为占用状态,则所述服务器向占用ALSA资源的播放器发送释放资源命令,接收到所述释放资源命令的播放器进行ALSA资源的释放,ALSA资源释放完成后,所述服务器播放所述请求播放器的资源;
[0020]S031,接收到所述释放资源命令的播放器将对当前资源的播放进行暂停;
[0021]S040,若所述服务器判断当前ALSA状态为未被占用状态,则所述服务器播放所述请求播放器的资源。
[0022]结合图2所示,所述服务器为Convswitch server,DAC是数字/模拟转换器,用于将数字信号转换为模拟信号。ALSA作为中间层的桥梁使用(提供驱动接口和库),使得应用程序能够与音频硬件设备进行通信,而DAC则是接受ALSA输出的数字信号,并将此数字信号转换为模拟信号并将其发送到耳机或扬声器中。
[0023]特别地,在S030

S031中,虽然ALSA端已经不再对接收到所述释放资源命令的播放器的资源进行处理,但是部分播放器可能会继续进行读条处理或其他运算处理,此时需要
暂停此播放器的处理动作,以节省硬件资源和记录保留此播放器处理资源的情况,以便于后续此播放器恢复播放被暂停的资源。
[0024]需要说明的是,图2中的Tidal Connect、spotify connect、volumio、roon ready和AirPlay2指的是系统上运行的播放应用,用户通过上述播放应用或其他同类型的应用进行音频播放。其中,volumio处于前台执行播放任务,其他的处于后台运行,并且暂停播放和释放ALSA资源。Volumio向Convswitch server发送播放需求,并向ALSA发送独占需求,然后Convswitch server向其他所有播放器发送暂停指令,ALSA释放其他播放器占用的资源,并向DAC端输出Volumio的播放资源。
[0025]综上所述,本专利技术通过上述方法,实现了在用户同时打开多个播放器时,若用户切换播放器进行音频播放,则会自动暂停后台播放器的播放并释放出ALSA资源,同时利用释放出的ALSA资源来执行前台播放器的资源播放,使得用户无需手动对后台播本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种协调各个播放器服务并抢占ALSA资源的方法,其特征在于,所述方法包括:S010,启用服务器,所述服务器接收来自播放器的信息,并向播放器发送信息;S020,某一播放器向所述服务器发送占用ALSA请求,所述服务器将对当前ALSA状态进行判断,此播放器记为请求播放器;S030,若所述服务器判断当前ALSA状态为占用状态,则所述服务器向占用ALSA资源的播放器发送释放资源命令,接收到所述释放资源命令的播放器进行ALSA资源的释放,ALSA资...

【专利技术属性】
技术研发人员:温上凯
申请(专利权)人:东莞凯韵科技有限公司
类型:发明
国别省市:

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

1