CN105183446B - 音频管理系统 - Google Patents

音频管理系统 Download PDF

Info

Publication number
CN105183446B
CN105183446B CN201510416578.XA CN201510416578A CN105183446B CN 105183446 B CN105183446 B CN 105183446B CN 201510416578 A CN201510416578 A CN 201510416578A CN 105183446 B CN105183446 B CN 105183446B
Authority
CN
China
Prior art keywords
audio
function
player
base class
realizing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510416578.XA
Other languages
English (en)
Other versions
CN105183446A (zh
Inventor
段凌云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guiyang Yuwan Science & Technology Co Ltd
Original Assignee
Guiyang Yuwan Science & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guiyang Yuwan Science & Technology Co Ltd filed Critical Guiyang Yuwan Science & Technology Co Ltd
Priority to CN201510416578.XA priority Critical patent/CN105183446B/zh
Publication of CN105183446A publication Critical patent/CN105183446A/zh
Application granted granted Critical
Publication of CN105183446B publication Critical patent/CN105183446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephone Function (AREA)

Abstract

本发明公开了一种音频管理系统。该音频管理系统包括:音频基类模块,设置于框架层,用于实现音频焦点的获取和放弃;播放器接口,设置于所述框架层,用于定义音频播放器在第一场景下的功能;播放器,设置于所述框架层或者业务实现层,用于继承所述音频基类模块的功能,并用于实现所述播放器接口定义的所述至少一个功能。音频管理基类模块,设置于所述框架层,用于继承所述音频基类模块的功能,并用于实现第二场景下的功能以及定义播放音频和暂停音频的行为。根据本发明的技术方案,解决了复杂业务场景下重复复制、粘贴代码,管理混乱的问题。

Description

音频管理系统
技术领域
本发明涉及通信领域,具体而言,涉及一种音频管理系统。
背景技术
Android 2.2版本以后的操作系统提供了一种“音频焦点”的协议,遵守该协议的应用软件,能够在其他应用软件、播放器获得音频焦点以及释放音频焦点时获得通知。最典型的应用场景就是音乐软件正在播放音乐时收到系统电话,此时音乐软件自动暂停,待电话挂断后自动恢复。
该协议本身的设计很简单,假设A、B两个播放器先后进行音乐播放,步骤与现象如下:
步骤1:A播放器在播放前向系统请求音频焦点。
步骤2:A播放器获得音频焦点,开始播放音乐。
步骤3:B播放器准备开始播放音乐,在播放前同样向系统请求音频焦点。
步骤4:A播放器收到失去音频焦点的通知(可在收到该通知时暂停播放音乐)。
步骤5:B播放器获得音频焦点,开始播放音乐。
步骤6:B播放器停止播放音乐,告诉系统放弃音频焦点。
步骤7:A播放器收到获得音频焦点的通知(可在收到该通知时继续播放音乐)。
但是,操作系统虽然提供了该协议以及对应接口,但是只能在对音频使用上比较简单的应用内直接使用,如果应用软件内本身也有多个音频源要抢占音频焦点使用音频,同时还涉及复杂的业务逻辑,那系统提供的简单接口就不能满足场景的需要了,需要进行更进一步的封装与设计才能易于使用。
发明内容
本发明的主要目的在于公开了一种音频管理系统,以至少解决相关技术中对于复杂的业务逻辑,操作系统提供的简单接口无法满足场景的需要的问题。
根据本发明,提供了一种音频管理系统。
根据本发明的音频管理系统包括:音频基类模块,设置于框架层,用于实现音频焦点的获取和放弃;播放器接口,设置于所述框架层,用于定义音频播放器在第一场景下的功能;播放器,设置于所述框架层或者业务实现层,用于继承所述音频基类模块的功能,并用于实现所述播放器接口定义的所述至少一个功能。音频管理基类模块,设置于所述框架层,用于继承所述音频基类模块的功能,并用于实现第二场景下的功能以及定义播放音频和暂停音频的行为。
与现有技术相比,本发明实施例至少具有以下优点:提供了一套音频管理系统框架供应用内的多个音频使用,解决了复杂业务场景下(即上述第二场景)重复复制、粘贴代码,管理混乱等问题。
附图说明
图1是根据本发明实施例的音频管理系统的结构框图;
图2是根据本发明优选实施例的音频管理系统的结构框图;以及
图3是根据本发明实例的音频管理系统的结构示意图。
具体实施方式
下面结合说明书附图对本发明的具体实现方式做一详细描述。
图1是根据本发明实施例的音频管理系统的结构框图。如图1所示,该音频管理系统包括:音频基类模块10,设置于框架层,用于实现音频焦点的获取和放弃;播放器接口12,设置于所述框架层,用于定义音频播放器在第一场景下的功能;播放器14,设置于所述框架层或者业务实现层,用于继承所述音频基类模块的功能,并用于实现所述播放器接口定义的所述至少一个功能。音频管理基类模块16,设置于所述框架层,用于继承所述音频基类模块的功能,并用于实现第二场景下的功能以及定义播放音频和暂停音频的行为。
相关技术中,操作系统虽然提供了该协议以及对应接口,但是只能在对音频使用上比较简单的应用内直接使用,如果应用软件内本身也有多个音频源要抢占音频焦点使用音频,同时还涉及复杂的业务逻辑,那系统提供的简单接口就不能满足场景的需要了,需要进行更进一步的封装与设计才能易于使用。针对以上所提到的系统接口在复杂音频及业务场景下使用时的局限性,本发明实施例提供了一套音频管理框架供应用内的多个音频使用,解决了复杂业务场景下重复复制、粘贴代码,管理混乱的问题。
其中,所述第二场景下的功能包括但不限于以下至少之一:免提功能、静音功能、耳机插拔处理功能。
其中,上述“接口”仅仅定义了事物的行为,并没有实现,需要由类来实现。“继承”是面向对象软件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个类A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。另外,为子类追加新的属性和方法也是常见的做法。
实际应用中,一般音频的应用场景有两种。第一场景下,音频播放器,可以指定一个音频文件的路径或网址进行播放;第二场景下,音频模块,例如聊天室、呼叫等模块,这种音频模块对音频的管理并非是简单的播放、停止、暂停的播放器模式,而是伴随着具体的业务场景,对音频进行更细粒度的控制,如进入聊天室后开始进行音频的录制与播放,按下静音按钮后停止音频的录制,但保持音频的播放。故本框架的设计原型基于这这两种使用场景。
优选地,如图2所示,上述系统还可以包括:音频管理器18,设置于业务实现层,用于继承所述音频管理基类模块的功能,并用于实现所述播放音频和暂停音频的行为,以及实现插拔耳机对应的业务逻辑,音频焦点放弃或获取到音频焦点的业务逻辑;业务模块20,设置于业务层,用于使用所述播放器或者所述音频管理器。
以下结合图3进一步描述上述优选实施方式。
图3是根据本发明实例的音频管理系统的结构示意图。如图3所示,该音频管理系统包括:
如图3所示,该音频管理系统包括:
音频基类模块(设置于框架层):
该模块封装了每个音频都需要用到并实现的基本功能——音频焦点获取与放弃,核心方法就是requestFocus(请求焦点)和abandonFocus(放弃焦点),可供任何继承于该类的子类调用。
音频管理基类模块(设置于框架层):
该模块继承于“音频基类”,在具备“音频基类”的一切属性与行为的基础上,又包含免提、静音、耳机插拔广播状态的监听等功能,同时定义了播放音频与暂停音频的行为,具体的行为实现方式需由各个子模块遵照定义的行为去实现。
setSpeakerOn方法:设置是否打开免提模式,true表示打开免提模式,false表示关闭免提模式。
isSpeakerOn方法:获取当前免提模式,true表示当前是免提模式,false表示当前不是免提模式。
setMute:设置是否静音模式,true表示打开静音模式,false表示关闭静音模式。
isMute:获取当前静音模式,true表示静音模式,false表示非静音模式。
onHeadsetPlugged:该方法在耳机插入时执行,子类可覆盖该方法实现自己在插入耳机时的处理逻辑,当耳机插入时,变可根据多态的特性,执行子类的方法。
onHeadsetUnplugged:原理同onHeadsetPlugged,只不过该方法时在耳机拔出时执行。
播放器接口(设置于框架层):
该接口定义了一个音频播放器该具备的基本功能,如:播放、停止、暂停、恢复播放、获取音频总时长、当前已播放时长等功能,具体的实现需要由实现该接口的类实现。所有用到播放器的地方,在初始化时可以指定具体哪个播放器,使用时均通过该接口利用多态特性与具体的播放器进行交互,这样在需求变更或进行技术优化时,只需修改初始化时指定的播放器即可,无需修改其他地方的代码。
播放器(设置于框架层或业务实现层,图3中示出了三个:播放器1、播放器2和播放器3,其中,播放器1、播放器2设置于框架层,播放器3设置于业务实现层):
该播放器继承“音频基类”,具备“音频基类”的一切属性与行为,实现了音频焦点丢失以及获取到音频焦点后的业务逻辑。同时实现了“播放器接口”定义的所有功能,可以是只能播放MP3格式的播放器,可以是只能播放AMR格式的播放器,也可以是能播放FLAC格式的播放器。根据具体的业务场景,可以在框架层预置几个基本播放器,如MP3格式播放器和AMR格式播放器;也可以在业务实现层扩展实现几个播放器,如FLAC格式播放器。
音频管理器(设置于业务实现层,图3中示出了两个:音频管理器1、音频管理器2):
该音频管理器继承“音频管理模块基类”,在具备“音频管理模块基类”的属性和行为的基础上,实现了播放音频与暂停音频的功能,实现了插拔耳机时的具体业务逻辑,实现了音频焦点丢失以及获取到音频焦点后的业务逻辑。例如:当失去音频焦点时,暂停音频的录制;当获得音频焦点时,恢复音频的录制。如果是免提状态,当耳机插入手机后,变为听筒模式;当耳机拔掉,恢复免提模式等业务逻辑。
业务模块(设置于业务层,图3中示出了四个:业务模块1、业务模块2、业务模块3、业务模块4):
该模块,根据其场景,使用不同的播放器或音频模块管理器,实现具体的业务。
综上所述,借助本发明提供的上述实施例,根据对音频使用场景的抽象,逐层设计了该框架。关键点在音频基类模块、播放器接口、音频管理基类模块的结构关系与设计,音频基类模块是所有音频直接协调的核心——音频焦点协议,该类提供了最基础的获取音频焦点,释放音频焦点的接口。播放器接口定义了播放器的基本功能,由播放器具体实现这些功能,同时由于播放器继承自音频基类模块,所以播放器具备获取以及放弃音频焦点的功能,通过在播放器的播放、暂停、停止等功能中增加音频焦点处理逻辑,使得播放器也能遵守音频焦点协议。音频管理基类模块的出现是为了解决复杂场景的音频管理,具备常用的“免提”、“静音”、“插拔耳机处理”等功能,由于其也是继承自音频基类模块,所以他也具备获取以及放弃音频焦点的功能,遵循音频协议。具体的如何将这些功能进行组合,是交给具体业务的音频管理基类模块来实现。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (3)

1.一种音频管理系统,其特征在于,包括:
音频基类模块,设置于框架层,用于实现音频焦点的获取和放弃;
播放器接口,设置于所述框架层,用于定义音频播放器在第一场景下的功能;
播放器,设置于所述框架层或者业务实现层,用于继承所述音频基类模块的功能,并用于实现所述播放器接口定义的功能;
音频管理基类模块,设置于所述框架层,用于继承所述音频基类模块的功能,并用于实现第二场景下的功能以及定义播放音频和暂停音频的行为。
2.根据权利要求1所述的系统,其特征在于,还包括:
音频管理器,设置于业务实现层,用于继承所述音频管理基类模块的功能,并用于实现所述播放音频和暂停音频的行为,以及实现插拔耳机对应的业务逻辑,音频焦点放弃或获取到音频焦点的业务逻辑;
业务模块,设置于业务层,用于使用所述播放器或者所述音频管理器。
3.根据权利要求1所述的系统,其特征在于,所述第二场景下的功能包括以下至少之一:免提功能、静音功能、耳机插拔处理功能。
CN201510416578.XA 2015-07-16 2015-07-16 音频管理系统 Active CN105183446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510416578.XA CN105183446B (zh) 2015-07-16 2015-07-16 音频管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510416578.XA CN105183446B (zh) 2015-07-16 2015-07-16 音频管理系统

Publications (2)

Publication Number Publication Date
CN105183446A CN105183446A (zh) 2015-12-23
CN105183446B true CN105183446B (zh) 2019-08-13

Family

ID=54905546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510416578.XA Active CN105183446B (zh) 2015-07-16 2015-07-16 音频管理系统

Country Status (1)

Country Link
CN (1) CN105183446B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468380A (zh) * 2015-12-29 2016-04-06 山东大学 一种安卓系统上管理音频焦点的优化方法
CN107301035B (zh) * 2016-04-15 2020-07-31 南京中兴软件有限责任公司 一种基于Android系统的音频同步录放系统及方法
CN106157970B (zh) * 2016-06-22 2020-12-04 上海麦克风文化传媒有限公司 一种音频识别方法以及终端
CN107967130A (zh) * 2016-10-20 2018-04-27 深圳联友科技有限公司 一种车机音频通道的切换方法及装置
CN106598539B (zh) * 2016-12-15 2020-02-14 广州酷狗计算机科技有限公司 一种应用程序内音频的处理方法和装置
CN107832034A (zh) * 2017-10-26 2018-03-23 深圳市沃特沃德股份有限公司 音频播放控制方法和装置
CN109947387B (zh) * 2019-03-28 2022-10-21 阿波罗智联(北京)科技有限公司 音频采集方法、音频播放方法、系统、设备及存储介质
CN110196708B (zh) * 2019-04-25 2023-05-16 深圳市布谷鸟科技有限公司 一种应用于安卓车载多媒体系统的音频管理方法
CN116974508A (zh) * 2023-06-30 2023-10-31 荣耀终端有限公司 音频焦点控制方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521755A (zh) * 2003-01-27 2004-08-18 联想(北京)有限公司 多个媒体播放器的控制方法及控制系统
CN103680549A (zh) * 2012-09-10 2014-03-26 联想(北京)有限公司 一种音频处理方法及电子设备
CN104392712A (zh) * 2014-08-27 2015-03-04 贵阳朗玛信息技术股份有限公司 一种实现卡拉ok功能的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521755A (zh) * 2003-01-27 2004-08-18 联想(北京)有限公司 多个媒体播放器的控制方法及控制系统
CN103680549A (zh) * 2012-09-10 2014-03-26 联想(北京)有限公司 一种音频处理方法及电子设备
CN104392712A (zh) * 2014-08-27 2015-03-04 贵阳朗玛信息技术股份有限公司 一种实现卡拉ok功能的方法及装置

Also Published As

Publication number Publication date
CN105183446A (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
CN105183446B (zh) 音频管理系统
US11818420B2 (en) Cross-device content projection method and electronic device
CN106445448B (zh) 终端的音频设备控制方法、系统及移动终端
CN104023305B (zh) 一种Wince车载多媒体的混音控制方法及装置
TWI532359B (zh) 受信呼叫管理方法與系統與資料存取方法
CN113411793A (zh) 一种蓝牙通信的方法及终端
CN104317648B (zh) 一种监测广告的方法和装置
CN104267924A (zh) 一种移动终端的音频处理方法及移动终端
US11445285B2 (en) Interactive control method and device of an earphone case, earphone case and storage medium
CN104079542A (zh) 一种信息处理方法及设备管理服务器
CN107147982A (zh) 构造来在通信系统中运行的助听器
CN106341757A (zh) 一种音源同时播放方法、装置及终端
WO2016127476A1 (zh) 一种耳机控制电路、线控设备及调音耳机
CN104301486A (zh) 电子设备及通话控制方法
TW200910125A (en) Tangible interface for mobile middleware
CN102354278A (zh) 一种音频数据的处理方法和设备
CN108268234A (zh) 一种音频输出控制方法、装置及终端
KR102213429B1 (ko) 사운드 제공 방법 및 이를 구현하는 전자 장치
CN105227984A (zh) 遥控器按键分配方法和装置
WO2019136675A1 (zh) 一种终端设备、dsd音频播放电路和方法
CN109582114A (zh) 一种移动终端及其开机控制方法
CN109245983A (zh) 一种虚拟网络设备、路由设备及虚拟网络的连接方法
CN105812935A (zh) 音视频播放系统中的播放控制方法和装置
CN111142978A (zh) 一种基于智能语音设备上打电话的方法及系统
KR101196838B1 (ko) 안드로이드 프레임워크에서 자동 스위치 기능을 갖는 통신 제어 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant