发明内容
为了解决现有技术中存在的所有自动播放的音频都被拦截、为用户操作带来麻烦的问题,本发明实施例提供了一种音频管理方法及装置。所述技术方案如下:
一方面,本发明实施例提供了一种音频管理方法,所述方法包括:
在检测到有第一网页音频将要自动播放时,判断是否有正在播放的音频;
若有,则比较所述第一网页音频的优先级别是否低于所述正在播放的音频的优先级别;
若所述第一网页音频的优先级别低于所述正在播放的音频的优先级别,则拦截所述第一网页音频的自动播放;否则,播放所述第一网页音频。
进一步地,当所述第一网页音频为基于Web的实时通信应用的音频时,所述检测到有第一网页音频将要自动播放,包括:检测到已打开的基于Web的实时通信应用的网页对应的预定端口号的信令状态为预定状态;
当所述第一网页音频为网页中的普通音频时,所述检测到有第一网页音频将要自动播放,包括:检测到当前加载的网页中存在自动播放音频的指令,其中,所述普通音频为网页中不同于所述基于Web的实时通信应用的音频。
进一步地,所述正在播放的音频包括基于Web的实时通信应用的音频,
相应地,所述判断是否有正在播放的音频,包括:
判断已打开的网页是否包括基于Web的实时通信应用的网页;
若是,则通过所述基于Web的实时通信应用的网页对应的预定端口号的信令状态,判断所述基于Web的实时通信应用的网页是否有基于Web的实时通信应用的音频正在播放,或者,通过判断对等连接对象的对等状态属性来判断所述基于Web的实时通信应用的网页是否有基于Web的实时通信应用的音频正在播放。
更进一步地,所述判断已打开的网页是否包括基于Web的实时通信应用的网页,包括:
检测已打开的网页连接的服务器的端口号是否是预定端口号或位于预定端口号区间内,若是,则已打开网页包括基于Web的实时通信应用的网页。
优选地,所述正在播放的音频为第二网页音频,所述方法还包括:
当所述第一网页音频的优先级别高于所述第二网页音频的优先级别时,暂停播放所述第二网页音频。
优选地,所述方法还包括:
在所述第一网页音频或所述第二网页音频的播放过程中,检测是否有本地***音频启动;
当有本地***音频启动且所述本地***音频的优先级别比所述第一网页音频或所述第二网页音频的优先级别高时,暂停播放所述第一网页音频或所述第二网页音频。
优选地,所述方法还包括:
判断被暂停播放的所述第一网页音频或所述第二网页音频对应的网页是否变为活动网页,若是,则向用户显示操作提示,所述操作提示包括以下操作选项中的至少一个:不播放所述活动网页的网页音频和播放所述活动网页的网页音频。
优选地,在拦截所述第一网页音频的自动播放后,所述方法还包括:
判断所述第一网页音频对应的网页是否变为活动网页,若是,则向用户显示操作提示,所述操作提示包括以下操作选项中的一个或多个:不播放所述活动网页的网页音频、播放所述活动网页的网页音频且暂停播放正在播放的网页音频、播放所述活动网页的网页音频且降低正在播放的网页音频的音量、以及将所述活动网页的网页音频与所述正在播放的音频同时播放。
优选地,在所述向用户发送操作提示之后,所述方法还包括:
获取用户根据所述操作提示发出的操作指令,并执行与获取的操作指令相对应的操作。
优选地,所述音频包括:网页音频和本地***音频,所述网页音频包括基于Web的实时通信应用的音频;且所述基于Web的实时通信应用的音频的优先级别最高。
另一方面,本发明实施例提供了一种音频管理装置,所述装置包括:
第一检测模块,用于检测是否有第一网页音频将要自动播放;
第一判断模块,用于当所述第一检测模块检测到有第一网页音频将要自动播放时,判断是否有正在播放的音频;
比较模块,用于当所述第一判断模块判断有正在播放的音频时,比较所述第一网页音频的优先级别是否低于所述正在播放的音频的优先级别;
执行模块,用于当所述第一网页音频的优先级别低于所述正在播放的音频的优先级别时,拦截所述第一网页音频的自动播放;否则,播放所述第一网页音频。
具体地,所述第一网页音频包括基于Web的实时通信应用的音频;所述第一检测模块具体用于,判断已打开的网页是否包括基于Web的实时通信应用的网页,若是,检测与所述基于Web的实时通信应用的网页对应的预定端口号的信令状态是否为预定状态;若预定端口号的信令状态为预定状态,则有基于Web的实时通信应用的音频将要自动播放;
所述第一判断模块具体用于,当所述第一检测模块检测到所述预定端口号的信令状态为预定状态时,判断是否有正在播放的音频。
具体地,所述第一网页音频包括网页中的普通音频;
所述第一检测模块具体用于,检测当前加载的网页中是否存在自动播放音频的指令;若当前加载的网页中存在自动播放音频的指令,则有普通音频将要自动播放;所述普通音频为网页中不同于基于Web的实时通信应用的音频;
所述第一判断模块具体用于,当所述第一检测模块检测到当前加载的网页中存在自动播放音频的指令时,判断是否有正在播放的音频。
进一步地,所述正在播放的音频包括基于Web的实时通信应用的音频,
相应地,所述第一判断模块用于,判断已打开的网页是否包括基于Web的实时通信应用的网页;若是,则通过所述基于Web的实时通信应用的网页对应的预定端口号的信令状态,判断所述基于Web的实时通信应用的网页是否有基于Web的实时通信应用的音频正在播放,或者,通过判断对等连接对象的对等状态属性来判断所述基于Web的实时通信应用的网页是否有基于Web的实时通信应用的音频正在播放。
更进一步地,所述第一判断模块,用于:
检测已打开的网页连接的端口号是否是预定端口号或位于预定端口号区间内,若是,则已打开网页包括基于Web的实时通信应用的网页。
优选地,所述正在播放的音频为第二网页音频,所述执行模块还用于,当所述第一网页音频的优先级别高于所述第二网页音频的优先级别时,暂停播放所述第二网页音频。
优选地,所述装置还包括:
第二检测模块,用于在所述第一网页音频或所述第二网页音频的播放过程中,检测是否有本地***音频启动;
所述执行模块还用于当有本地***音频启动且所述本地***音频的优先级别比所述第一网页音频或所述第二网页音频的优先级别高时,暂停播放所述第一网页音频或所述第二网页音频。
优选地,所述装置还包括:
第二判断模块,用于判断被暂停播放的所述第一网页音频或所述第二网页音频对应的网页是否变为活动网页;
第一提示模块,用于当所述第二判断模块的判断结果为是时,向用户显示操作提示,所述操作提示包括以下操作选项中的至少一个:不播放所述活动网页的网页音频和播放所述活动网页的网页音频。
优选地,所述装置还包括:
第三判断模块,用于在拦截所述第一网页音频的自动播放后,判断所述第一网页音频对应的网页是否变为活动网页;
第二提示模块,用于当所述第三判断模块的判断结果为是时,向用户显示操作提示,所述操作提示包括以下操作选项中的一个或多个:不播放所述活动网页的网页音频、播放所述活动网页的网页音频且暂停播放正在播放的网页音频、播放所述活动网页的网页音频且降低正在播放的网页音频的音量、以及将所述活动网页的网页音频与所述正在播放的音频同时播放。
优选地,所述装置还包括:
获取模块,用于获取用户根据所述操作提示发出的操作指令;
则所述执行模块,还用于执行与所述获取模块获取的操作指令相对应的操作。
本发明实施例提供的技术方案的有益效果是:通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放该第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种音频管理方法,如图1所示,该方法包括:
步骤101:在检测到有第一网页音频将要自动播放时,判断是否有正在播放的音频,若有,则执行步骤102;若没有,则执行步骤103。
具体地,在本发明实施例中,音频可以是网页音频,也可以是本地***音频。其中,网页音频包括WebRTC(Web Real-Time Communication,基于Web的实时通信)应用的音频(如来电振铃和通话)和网页中的普通音频,该普通音频为网页中不同于WebRTC应用的音频,如在线视频、MP3音乐等。该第一网页音频可以为WebRTC应用的音频,也可以为普通音频。
进一步地,当第一网页音频为网页中的普通音频时,检测到有第一网页音频将要自动播放,包括:检测到当前加载的网页中存在自动播放音频的指令(<audio autoplay>或<video autoplay>);当第一网页音频为WebRTC应用的音频时,检测到有第一网页音频将要自动播放,包括:检测到已打开的WebRTC应用的网页对应的预定端口号的信令状态为预定状态,比如收到一个到来的会话请求,正在通话等。
步骤102:比较第一网页音频的优先级别是否低于正在播放的音频的优先级别;若是,则执行步骤104;若否,则执行步骤103。
具体地,对于网页音频,优先级别可以根据音频类型划分,比如WebRTC应用的来电振铃高于在线视频、在线视频高于MP3音乐等;对于本地***音频,根据实际需要,将需要不受到本地***音频影响的网页音频(如WebRTC应用的来电振铃和通话)的优先级别设置为高于本地***音频的优先级别,而将其它网页音频的优先级别设置为低于本地***音频的优先级别。
步骤103:播放第一网页音频。
步骤104:拦截第一网页音频的自动播放。
具体地,该步骤包括:使网页中的自动播放音频的指令失效。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放该第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。
实施例2
本实施例以对WebRTC应用的音频、本地***音频和网页中的普通音频进行综合管理为例,来详细说明本发明提供的音频管理方法。如图2所示,本发明实施例提供了一种音频管理方法,该方法包括:
步骤201:为音频设置优先级别。
具体地,在本实施例中,将WebRTC应用的音频的优先级别设为最高,本地***的优先级别其次,网页中的普通音频的优先级别设为最低,且对于网页中的普通音频,先播放的音频的优先级别比后播放的音频的优先级别高。
可选地,网页中的普通音频的优先级别还可以根据音频类型来设置,比如在线视频的优先级别高于音乐MP3的优先级别。
需要说明的是,该步骤为可选步骤,可以根据用户指令设置,也可以是***默认设置。
步骤202:在检测到有第一网页音频将要自动播放时,判断是否有正在播放的音频,若是,则执行步骤203;若否,则执行步骤204。
具体地,当第一网页音频为网页中的普通音频时,检测到有第一网页音频将要自动播放,包括:检测到当前加载的网页中存在自动播放音频的指令(<audioautoplay>或<video autoplay>)。
当第一网页音频为WebRTC应用的音频时,检测到有第一网页音频将要自动播放,包括:检测到已打开的WebRTC应用的网页对应的预定端口号的信令状态为预定状态,比如收到一个到来的会话请求,正在通话等。
进一步地,若已加载的页面存在WebRTC应用的网页,则通过监控该WebRTC应用的网页对应的预定端口号或端口号区间的信令状态,来判断是否有WebRTC应用的音频将要播放。具体地,用户打开WebRTC应用的网页时,通常需要登录自己的用户名,必然会连接到Web服务器,这个过程使得音频管理装置知道当前打开的网页是不是WebRTC应用的网页,并在判断当前网页是WebRTC应用的页面时,获知WebRTC应用的网页使用的通信端口号,根据WebRTC应用使用的信令协议,可以得到WebRTC应用所处的信令状态,如收到一个到来的会话请求,正在通话,通话结束等;根据信令状态可判断是否有WebRTC应用的音频将要播放。
进一步地,判断是否有正在播放的音频,可以包括以下步骤:
步骤A:判断是否有正在播放的网页音频。该步骤可以分为两方面:一方面,判断是否有正在播放的普通音频;另一方面,判断是否有正在播放的WebRTC应用的音频。
具体地,可以设置一个网页音频播放标识(如图3-6中的网页音频播放标识为“音频流”,且音频流=n,n为整数),通过该网页音频播放标识的值来判断是否有普通音频正在播放,该网页音频播放标识的值可以通过监控媒体元素的状态事件来设置。进一步地,在HTML5中audio(音频)和video(视频)的播放、暂停、播放结束,都会触发相应的事件event,如播放play事件、暂停pause事件和结束ended事件,若play事件发生,则将网页音频播放标识对应的值加1,若暂停pause事件和结束ended事件发生,则将网页音频播放标识对应的值减1。另外,对于音量变化volume change事件,当音量值变为0时,则将网页音频播放标识对应的值减1,当音量值从0变为大于0时,则将网页音频播放标识对应的值加1。
当该网页音频播放标识的值大于或等于1时,代表有普通音频正在播放;否则,没有普通音频在播放。
具体地,判断是否有正在播放的WebRTC应用的音频,包括:
判断已打开的网页是否包括WebRTC应用的网页;若有,则通过该WebRTC应用的网页对应的预定端口号的信令状态判断WebRTC应用的网页是否有WebRTC应用的音频正在播放,或者,通过判断Peerconnection(对等连接)对象的PeerState(对等状态)属性来判断WebRTC应用的网页是否有音频正在播放(如,通过PeerState属性可以判断是否正在通话,若在通话,则可判断WebRTC应用的网页有WebRTC应用的音频正在播放)。
其中,判断已打开的网页是否包括WebRTC应用的网页的方式可以为:检测已打开的网页连接的服务器的端口号是否是预定端口号或位于预定端口号区间内;若是,则表示该网页是基于Web的实时通信应用的网页,也就是说,已打开的网页包括WebRTC应用的网页;反之,则表示已打开的网页中没有WebRTC应用的网页,进而没有正在播放的WebRTC应用的音频。
更具体地,在通过判断对等连接对象的对等状态属性来判断WebRTC应用的网页是否有音频播放时,首先判断当前是否有一个Peerconnection对象,以及该对象是否含有media stream(媒体流),若有,则监控该Peerconnection对象的PeerState属性是否处于active(活动)状态或opening(打开)状态。如果处于active状态,就表示WebRTC应用正在进行音视频通话;如果处于opening打开,就表示WebRTC应用正等待接通。进一步地,PeerState属性状态通过浏览器引擎中的代码确定。
同样地,也可以设置一个RTC音频播放标识,通过该RTC音频播放标识的值来判断是否有WebRTC应用的音频正在播放。
步骤B:判断是否有正在播放的本地***音频。具体地,可以通过***API(Application Programming Ineterface,应用编程接口)来获知是否有本地***音频正在播放。同样地,也可以设置一个本地***音频播放标识,来表示是否有本地***音频正在播放。
上述步骤A和步骤B的执行顺序在此不做限制,可以同时执行,也可以不同时执行。
步骤203:比较第一网页音频的优先级别是否低于正在播放的音频的优先级别,若是,则执行步骤205;若否,则执行步骤204和206。
具体地,在本实施例中,根据步骤201的优先级别设置,所以该步骤203包括:
第一步:判断第一网页音频的是WebRTC应用的音频还是普通音频。
判断第一网页音频是否为WebRTC应用的音频,可以通过监测WebRTC应用的网页对应的预定端口号的信令交互来实现。比如,WebRTC应用对应的服务器的端口号一般是固定的(可以是一个固定的端口,也可能是一个固定的端口区间),在网页加载时,通过解析该页面所连接的服务器的端口号,即可以判断该网页是不是WebRTC应用的网页。监控该端口号的信令状态,即可以判断当前将要自动播放的网页音频是否为WebRTC应用的音频。
第二步:若当前有正在播放的音频,则确定当前正在播放的音频的优先级别。
第三步:根据步骤201中设置的优先级别,比较第一网页音频的优先级别和正在播放的音频的优先级别。
步骤204:播放第一网页音频。
步骤205:拦截第一网页音频的自动播放。
具体地,在本实施例中,由于WebRTC应用的音频的优先级别为最高,所以这里暂停的只能是其它网页音频,可以网页中通过使自动播放音频的指令<audio autoplay>或<video autoplay>失效来实现。
步骤206:当第一网页音频的优先级别高于正在播放的音频的优先级别,且正在播放的音频是第二网页音频时,暂停播放第二网页音频。
具体地,正在播放的音频是网页音频还是本地***音频可以由步骤202得到。
从步骤203-206可以看出,当第一网页音频的优先级别高于第二网页音频时,将播放第一网页音频(步骤204)且暂停第二网页音频(步骤206);而当第一网页音频的优先级别等于正在播放的音频的优先级别时,两个音频可以同时播放,比如当前有WebRTC通话正在进行,如果有另一WebRTC应用的来电振铃到来,由于它们的优先级别相同,所以可以正常播放该来电振铃,由用户自己去选择是否接通。根据优先级别来决定当前将要自动播放的第一网页音频是否自动播放,并决定是否暂停播放正在播放的网页音频(若有的话),可以避免优先级别高的网页音频(如WebRTC应用的来电振铃等)无法正常播放,并且可以在一定程度上避免音频播放的声音冲突。
步骤207:判断被拦截的第一网页音频、或被暂停播放的第二网页音频对应的网页是否变为活动网页,若是,则执行步骤208;若否,则本方法实施例的流程结束。
步骤208:向用户显示操作提示,该操作提示可以包括以下操作选项中的一个或多个:不播放活动网页的网页音频、播放活动网页的网页音频且暂停正在播放的网页音频、播放活动网页的网页音频且降低正在播放的网页音频的音量、以及将活动网页的网页音频与正在播放的音频同时播放。
步骤209:获取用户根据操作提示发出的操作指令,并执行与获取的操作指令相对应的操作。
可选地,该方法还可以包括:根据用户的直接点击来获取用户的操作指令,并执行与获取的操作指令相对应的操作。
优选地,该方法还包括:在第一网页音频或第二网页音频的播放过程中,检测是否有本地***音频启动;
当有本地***音频启动且本地***音频的优先级别比第一网页音频或第二网页音频的优先级别高时,暂停播放该第一网页音频或第二网页音频。这样,可以在一定程度上避免本地***音频和网页音频的冲突,进一步减少用户的操作步骤,提高用户体验。
在因为有本地***音频启动而暂停播放该第一网页音频或所述第二网页音频后,该方法还包括:
判断该第一网页音频或所述第二网页音频对应的网页是否变为活动网页,若是,则向用户显示操作提示,该操作提示包括以下操作选项中的至少一个:不播放所述活动网页的网页音频和播放所述活动网页的网页音频;
获取用户根据操作提示发出的操作指令,并执行与获取的操作指令相对应的操作。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。此外,由于本实施例为WebRTC应用的音频、本地***音频和网页中的普通音频设置了优先级别,并将WebRTC应用的音频的优先级别设为最高,同时根据音频的优先级别确定音频是否播放,所以避免了现有技术中拦截所有媒体文件对WebRTC应用的音频造成的影响,同时一定程度上解决了网页音频和本地音频的声音冲突的问题。
实施例3
本实施例以对网页音频进行管理为例,来说明本发明提供的音频管理方法。在本实施例中,网页音频仅包括前述网页中的普通音频,网页中的普通音频的优先级别根据播放的先后顺序设置,也就是说,先播放的音频的优先级比后播放的音频的优先级高。本实施例的流程开始之前,其所处的应用环境如下:浏览器已打开,音频管理装置(见实施例7和实施例8)进行初始化,将网页音频播放标识置0,当前没有普通音频正在播放。如图3所示,本发明实施例提供了一种音频管理方法,该方法包括:
步骤301:加载普通网页A的页面。
普通网页是指除了WebRTC应用的网页以外的网页。
步骤302:解析该普通网页A中是否存在自动播放音频的指令<audioautoplay>或<video autoplay>。
步骤303:识别出普通网页A中存在自动播放音频的指令<audio autoplay>或<video autoplay>,判断出没有正在播放的音频,执行步骤304。
由于在识别出普通网页A中存在自动播放音频的指令之前,网络音频播放标识为0,可以知道当前没有网页音频正在播放,而本实施例中优先级别根据播放的先后顺序设置,所以普通网页A中的音频(A音频)优先级最高,执行步骤304。
步骤304:普通网页A的页面打开后,播放该A音频。
此时,音频管理装置将网页音频播放标识变为1(即图中的音频流=1)。
步骤305:加载普通网页B的页面。
步骤306:解析该普通网页B中是否存在自动播放音频的指令<audioautoplay>或<video autoplay>。
步骤307:识别出普通网页B中存在自动播放音频的指令<audio autoplay>或<video autoplay>,比较A音频和B音频的优先级别。
具体地,由于本实施例根据播放先后顺序设置优先级别,所以A音频的优先级别高于B音频的优先级别,在当前网页音频播放标识为1的情况下,可以得到当前将要自动播放的网页音频(B音频)的优先级别低于正在播放的音频(A音频)的优先级别,则执行步骤308。
步骤308:使普通网页B中的自动播放音频的指令<audio autoplay>或<videoautoplay>失效。
使自动播放音频的指令<audio autoplay>或<video autoplay>失效后,普通网页B中的自动播放音频将不能自动播放。此时,普通网页B的页面打开,且页面的音频(B音频)被拦截。
步骤309:检测到用户使普通网页B变为活动网页。
步骤310:提示用户有音频正在播放。
具体地,可以向用户显示以下操作选项:不播放活动网页的网页音频、播放活动网页的网页音频且暂停正在播放的音频、播放活动网页的网页音频且降低正在播放的音频的音量、以及将活动网页的网页音频与正在播放的音频同时播放。
步骤311:获取用户根据该操作提示发出的操作指令,并执行与获取的操作指令对应的操作。
具体地,在本实施例中,该步骤311可以分为以下四种情况:
第一种:获取用户的操作指令,且该操作指令为不播放活动网页的网页音频,则不进行操作(步骤311a)。
第二种:获取用户的操作指令,且该操作指令为播放活动网页的网页音频且暂停播放正在播放的音频(步骤311b);暂停播放A音频(步骤312b);播放B音频(步骤313b);检测到B音频播放完毕或暂停(步骤314b);此时,将网页音频播放标识变为0(步骤315b)。
第三种:获取用户的操作指令,且该操作指令为播放活动网页的网页音频且降低正在播放的音频的音量(步骤311c);降低A音频音量(步骤312c);播放B音频(步骤313c);检测到B音频播放完毕或暂停(步骤314c);恢复A音频音量(步骤315c);此时,网页音频播放标识依然为1(步骤316c)。
第四种:获取用户的操作指令,且该操作指令为将活动网页的网页音频与正在播放的音频同时播放(步骤311d);播放B音频(步骤312d);此时,将网页音频播放标识变为2(步骤313d)。
对应地,执行用户的操作指令后,可以按照实施例2的步骤202中的方法对网页音频播放标识进行更新设置。
需要说明的是,普通网页的音频(即其它网页音频)的优先级别也可以根据音频的类型设置。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的网页音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。
实施例4
本实施例以对网页音频和本地***音频进行管理为例,来说明本发明提供的音频管理方法。在本实施例中,网页音频的优先级别低于本地***音频的优先级别。本实施例的流程开始之前,其所处的应用环境如下:浏览器已打开,在有网页音频正在播放,或者有网页音频将要自动播放的情况下,有本地***音频将要启动。此时,音频管理装置将网页音频播放标识设置为1(即图中的音频流=1);本地***音频播放标识设置为false(即图中的本地播放=false,表示没有本地***音频播放)。如图4所示,本发明实施例提供了一种音频管理方法,该方法包括:
步骤401:检测是否有正在播放的本地***音频。
检测本地***音频的方法在实施例2中已有详细描述,在此不再赘述。
步骤402:检测到有正在播放的本地***音频,将本地***音频播放标识设置为true(即图中的本地播放=true,表示有本地***音频播放)。
步骤403:暂停播放网页音频。
暂停播放网页音频后,音频管理装置将网页音频播放标识设置为0。
步骤404:在暂停播放网页音频后,检测到用户使该网页变为活动网页。
步骤405:提示用户有音频正在播放,并向其提供以下操作选项:不播放活动网页的网页音频和播放活动网页的网页音频。
若用户选择不播放活动网页的网页音频,则执行步骤406a;若用户选择播放活动网页的网页音频,则执行步骤406b。
步骤406a:获取用户的操作指令,且该操作指令为不播放活动网页的网页音频,则不执行操作。
步骤406b:获取用户的操作指令,且该操作指令为播放活动网页的网页音频,则执行步骤407b。
步骤407b:播放网页音频。
此时,音频管理装置将网页音频播放标识变为1。
步骤408:检测是否有本地***音频正在播放。
在网页音频的播放过程中,仍然检测是否有本地***音频播放。当本地***音频停止时,音频管理装置检测到没有本地***音频正在播放,将本地***音频播放标识设置为false。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的本地***音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。
实施例5
本实施例以对网页音频(包括WebRTC应用的音频和网页中的普通音频)进行管理为例,来说明本发明提供的音频管理方法。在本实施例中,将WebRTC应用的音频的优先级别默认为最高,图中的网页A和网页B为普通网页。本实施例的流程开始之前,其所处的应用环境如下:浏览器中有网页A已打开,且网页A的音频正在播放;同时没有WebRTC应用的网页已打开。此时,音频管理装置将网页音频播放标识设置为1(即图中的音频流=1);RTC播放标识设置为false(即图中的WebRTC=false,表示没有WebRTC的音频播放)。如图5所示,本发明实施例提供了一种音频管理方法,该方法包括:
步骤501:加载页面。
步骤502:通过解析确定当前加载的页面为WebRTC应用的网页。
步骤503:检测到该WebRTC应用的网页有呼叫到达。
具体地,可以通过检测预定端口的信令交互来检测是否有呼叫到达,在实施例2中已有详细描述,故在此不再赘述。
步骤504:暂停播放网页A的音频。
此时,将网页音频播放标识设置为0(即图中的音频流=0);WebRTC播放标识设置为true(即图中的WebRTC=true,表示WebRTC应用的网页中有音频播放)。
由于本实施例中,默认WebRTC应用的音频的优先级别最高,所以网页A的音频的优先级别低于WebRTC应用的音频的优先级别,所以暂停播放网页A的音频。
步骤505:该WebRTC应用的网页中的WebRTC应用开始振铃,接通建立通话。
由于本实施例中,默认WebRTC应用的音频的优先级别最高,所以网页A的音频的优先级别低于WebRTC应用的音频的优先级别,所以有呼叫到达即播放WebRTC应用的振铃。
步骤506:加载网页B的页面。
在通话过程中,用户又打开了网页B,则需要加载网页B,由于网页B为普通网页,且本实施例中,默认WebRTC应用的音频的优先级别最高,所以网页B的音频的优先级别低于WebRTC应用的音频的优先级别,故执行步骤507。
步骤507:拦截网页B的音频的自动播放。
具体地,该步骤包括:使网页B中的自动播放音频的指令<audio autoplay>或<video autoplay>失效。
步骤508:获取用户操作指令,该操作指令为播放网页A的音频。
具体地,在本实施例中,用户通过直接点击网页A的音频来发出该操作指令。
步骤509:播放网页A的音频,将网页音频播放标识设置为1。
步骤510:通话挂断,将RTC播放标识设为false。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。在本实施例中,由于WebRTC应用的音频的优先级别最高,所以如果用户正在WebRTC通话,在通话过程中再打开普通网页,普通网页中内嵌的其它网页音频都不能自动播放,除非用户选择播放其它网页音频给通话的对方听,从而自动避免了其它网页音频对通话过程的干扰。
实施例6
本实施例以对网页音频和本地***音频进行管理为例,来说明本发明提供的音频管理方法。在本实施例中,网页音频(WebRTC应用的音频)的优先级别高于本地***音频的优先级别。本实施例的流程开始之前,其所处的应用环境如下:浏览器中已WebRTC应用的网页打开,没有普通网页打开;同时,有本地***音频正在播放。此时,音频管理装置中,网页音频播放标识设置为0(即图中的音频流=0);本地***音频播放标识设置为true(即图中的本地播放=true);WebRTC播放标识设置为false(即图中的WebRTC=false,表示没有WebRTC应用的音频播放)。如图6所示,本发明实施例提供了一种音频管理方法,该方法包括:
步骤601:检测到已加载的WebRTC应用的网页中有呼叫到达。
具体地,可以通过检测预定端口的信令交互来检测是否有呼叫到达,在实施例2中已有详细描述,故在此不再赘述。
由于WebRTC应用的音频的优先级别高于本地***音频的优先级别,所以有本地***音频播放时,音频管理装置不会阻止WebRTC应用的通话。
随之,WebRTC应用开始振铃。
步骤602:检测到本地***音频停止,将本地***播放标识设置为false。
通常情况下,当有呼叫到达时,为了不影响通话,用户会主动停止本地***音频的播放。
步骤603:WebRTC应用建立通话,将WebRTC播放标识设置为true,即WebRTC=true。
步骤604:检测到本地***音频播放,将本地***播放标识设置为true。
由于WebRTC应用的音频的优先级别高于本地***音频的优先级别,所以有本地***音频播放时,音频管理装置不会阻止WebRTC应用的通话,此时本地***音频和WebRTC应用的通话同时进行。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。同时,将WebRTC应用的音频的优先级别设置为高于本地***音频的优先级别,所以在通话过程中,本地***音频的播放不会影响对通话造成阻碍。
实施例7
本发明实施例提供了一种音频管理装置,如图7所示,该装置包括:
第一检测模块701,用于检测是否有第一网页音频将要自动播放;
第一判断模块702,用于当第一检测模块701检测到有第一网页音频将要自动播放时,判断是否有正在播放的音频;
比较模块703,用于当第一判断模块702判断有正在播放的音频时,比较第一网页音频的优先级别是否低于正在播放的音频的优先级别;
执行模块704,用于当第一网页音频的优先级别低于正在播放的音频的优先级别时,拦截第一网页音频的自动播放;否则,播放第一网页音频。
具体地,在本发明实施例中,音频可以是网页音频,也可以是本地***音频。其中,网页音频包括但不限于WebRTC应用的音频(如来电振铃和通话)和网页中的普通音频(如在线视频、MP3音乐等)。
具体地,对于网页音频,优先级别可以根据音频类型划分,比如WebRTC应用的来电振铃高于在线视频、在线视频高于MP3音乐等;对于本地***音频,根据实际需要,将需要不受到本地***音频影响的网页音频(如WebRTC应用的来电振铃和通话)的优先级别高于本地***音频的优先级别,而将其它网页音频的优先级别设置为低于本地***音频的优先级别。
进一步地,第一网页音频包括WebRTC应用的音频,第一检测模块701具体用于,判断已打开的网页是否包括WebRTC应用的网页;若是,检测该WebRTC应用的网页对应的预定端口号的信令状态是否为预定状态;若预定端口号的信令状态为预定状态,则有基于Web的实时通信应用的音频将要自动播放;
相应地,第一判断模块702具体用于,当第一检测模块701检测到该预定端口号的信令状态为预定状态时,判断是否有正在播放的音频。
更进一步地,第一网页音频包括网页中的普通音频;第一检测模块701具体用于,检测当前加载的网页中是否存在自动播放音频的指令;若当前加载的网页中存在自动播放音频的指令,则有普通音频将要自动播放;
相应地,第一判断模块702具体用于,当第一检测模块701检测到当前加载的网页中存在自动播放音频的指令时,判断是否有正在播放的音频。其中,网页中的普通音频为不同于WebRTC应用的音频。
进一步地,当正在播放的音频包括WebRTC应用的音频时,第一判断模块702用于,判断已打开的网页是否包括WebRTC应用的网页;若是,则通过该WebRTC应用的网页对应的预定端口号的信令状态,判断该WebRTC应用的网页是否有WebRTC应用的音频正在播放,或者,通过判断对等连接对象的对等状态属性来判断该WebRTC应用的网页是否有WebRTC应用的音频正在播放。
更进一步地,第一判断模块702用于,检测已打开的网页连接的端口号是否是预定端口号或位于预定端口号区间内,若是,则已打开网页包括WebRTC应用的网页。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。
实施例8
本发明实施例提供了一种音频管理装置,如图8所示,该装置与实施例7中提供的装置的不同之处在于,正在播放的音频为第二网页音频,执行模块704还用于,当第一网页音频的优先级别高于正在播放的音频的优先级别时,暂停播放第二网页音频。
进一步地,该装置还包括第二检测模块805,用于在第一网页音频或第二网页音频的播放过程中,检测是否有本地***音频启动;
执行模块704还用于当有本地***音频启动且本地***音频的优先级别比第一网页音频或第二网页音频的优先级别高时,暂停播放该第一网页音频或第二网页音频。
优选地,该装置还包括:
设置模块806,用于为音频设置优先级别。
具体地,设置模块806用于将WebRTC应用的音频的优先级别设置为最高。
具体地,在本实施例中,音频可以包括:网页音频和本地***音频,网页音频包括基于Web的实时通信应用的音频和其它网页音频;且基于Web的实时通信应用的音频的优先级别最高。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。此外,由于本实施例为WebRTC应用的音频、本地***音频和网页中的普通音频设置了优先级别,并将WebRTC应用的音频的优先级别设为最高,同时根据音频的优先级别确定音频是否播放,所以避免了现有技术中拦截所有媒体文件对WebRTC应用的音频造成的影响,同时一定程度上解决了网页音频和本地音频的声音冲突的问题。
实施例9
本发明实施例提供了一种音频管理装置,如图9所示,该装置与实施例8中提供的装置的不同之处在于,本实施例的装置还包括:
第二判断模块907,用于判断被暂停播放的第一网页音频或第二网页音频对应的网页是否变为活动网页;
第一提示模块908,用于当第二判断模块908的判断结果为是时,向用户显示操作提示,该操作提示包括以下操作选项中的至少一个:不播放活动网页的网页音频和播放活动网页的网页音频。
优选地,所述装置还包括:
第三判断模块909,用于在拦截第一网页音频的自动播放后,判断第一网页音频对应的网页是否变为活动网页;
第二提示模块910,用于当第三判断模块909的判断结果为是时,向用户显示操作提示,操作提示包括以下操作选项中的一个或多个:不播放活动网页的网页音频、播放活动网页的网页音频且暂停播放正在播放的网页音频、播放活动网页的网页音频且降低正在播放的网页音频的音量、以及将活动网页的网页音频与正在播放的音频同时播放。
进一步地,该装置还包括:
获取模块911,用于获取用户根据操作提示发出的操作指令;
则执行模块704,还用于执行与获取模块911获取的操作指令相对应的操作。
需要说明的是,这里的操作提示可以通过第一提示模块908获取,也可以通过第二提示模块910获取。
优选地,获取模块911可以直接获取用户通过点击网页音频而发出的操作指令。
本发明实施例通过比较当前将要自动播放的第一网页音频和正在播放的音频的优先级别,并根据比较结果决定是否播放第一网页音频,自动避免了音频的声音相互冲突,不需要用户一一操作,提高了用户体验。
实施例7、8和9提供的装置可以设置在浏览器中。
在具体的实施方式中,前述图7、8和9中的音频管理装置可以是一种计算机(包括手持形式的计算机***,如智能手机,平板电脑等)或者服务器,如图10所示。其一般包括至少一个处理器12(例如CPU)、用户接口14、至少一个网络接口15或者其他通信接口、存储器16、音频播放器17和至少一个通信总线13。本领域技术人员可以理解,图10中示出的计算机的结构并不构成对计算机的限定,其可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对计算机10的各个构成部件进行具体的介绍:
通信总线13用于实现处理器12、存储器16及通信接口之间的连接通信。
至少一个网络接口15(可以是有线或者无线)实现该计算机10与至少一个其他计算机之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
存储器16可用于存储软件程序以及应用模块,处理器12通过运行存储在存储器16的软件程序以及应用模块,从而执行计算机10的各种功能应用以及数据处理。存储器16可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据计算机10的使用所创建的数据(比如音频数据)等。此外,存储器16可以包括高速RAM(Random Access Memory,随机存取存储器),还可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
用户接口14,包括但不限于显示器和输入设备。其中,输入设备通常包括键盘和点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏)。其中,显示器可用于显示由用户输入的信息或提供给用户的信息以及计算机10的各种菜单、以及图片或视频中的图像等;键盘和点击设备可用于接收输入的数字或字符信息,以及产生与计算机10的用户设置以及功能控制有关的信号输入,比如接收与音频的优先级别相关的设置命令、获取用户根据操作提示发出的操作指令等。
音频播放器17可以包括但不限于音频电路(例如声卡)和声响设备。音频电路17可以在处理器12的控制下,将接收到的音频数据转换后的电信号,输出到耳机、扬声器、扩音机、录音机等声响设备,由声响设备转换为声音信号输出。
处理器12是计算机10的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器16内的软件程序和/或应用模块,以及调用存储在存储器16内的数据,执行计算机10的各种功能和处理数据,从而对计算机进行整体监控。
具体地,通过运行或执行存储在存储器16内的软件程序和/或应用模块,以及调用存储在存储器16内的数据,处理器12可以实现,检测是否有第一网页音频将要自动播放;在检测到有第一网页音频将要自动播放时,判断是否有正在播放的音频;若有,则比较第一网页音频的优先级别是否低于正在播放的音频的优先级别;若第一网页音频的优先级别低于正在播放的音频的优先级别,则控制音频播放器17拦截第一网页音频的自动播放;否则,控制音频播放器17播放该第一网页音频。容易知道,若第一网页音频带有图像,则还需要控制显示器显示相关的图像。
进一步地,当第一网页音频包括WebRTC应用的音频时,处理器12可以实现,判断已打开的网页是否包括WebRTC应用的网页;若是,检测WebRTC应用的网页对应的预定端口号的信令状态是否为预定状态;当检测到预定端口号的信令状态为预定状态时,判断是否有正在播放的音频。若预定端口号的信令状态为预定状态,则有基于Web的实时通信应用的音频将要自动播放。
更进一步地,当第一网页音频包括网页中的普通音频时,处理器12可以实现,检测当前加载的网页中是否存在自动播放音频的指令;当检测到当前加载的网页中存在自动播放音频的指令时,判断是否有正在播放的音频。若当前加载的网页中存在自动播放音频的指令,则有普通音频将要自动播放。
优选地,若正在播放的音频可能包括WebRTC应用的音频,处理器12还可以实现,判断已打开的网页是否包括WebRTC应用的网页;若是,则通过WebRTC应用的网页对应的预定端口号的信令状态,判断该WebRTC应用的网页是否有WebRTC应用的音频正在播放,或者,通过判断对等连接对象的对等状态属性来判断该WebRTC应用的网页是否有WebRTC应用的音频正在播放。
优选地,如果正在播放的音频为第二网页音频,处理器12还可以实现,当第一网页音频的优先级别高于正在播放的音频的优先级别时,控制音频播放器17暂停播放第二网页音频。
优选地,处理器12还可以实现,在第一网页音频或第二网页音频的播放过程中,检测是否有本地***音频启动;当有本地***音频启动且本地***音频的优先级别比第一网页音频或第二网页音频的优先级别高时,控制音频播放器17暂停播放该第一网页音频或第二网页音频。
优选地,处理器12还可以实现,判断被暂停播放的第一网页音频或第二网页音频对应的网页是否变为活动网页;当判断结果为是时,通过显示器向用户显示操作提示,该操作提示包括以下操作选项中的至少一个:不播放活动网页的网页音频和播放活动网页的网页音频。
优选地,处理器12还可以实现,在控制音频播放器17拦截第一网页音频的自动播放后,判断第一网页音频对应的网页是否变为活动网页;当判断结果为是时,通过显示器向用户显示操作提示,该操作提示包括以下操作选项中的一个或多个:不播放活动网页的网页音频、播放活动网页的网页音频且暂停播放正在播放的网页音频、播放活动网页的网页音频且降低正在播放的网页音频的音量、以及将活动网页的网页音频与正在播放的音频同时播放。
进一步地,当通过输入设备获取到用户根据操作提示发出的操作指令或直接点击而发出的操作指令时,处理器12还可以执行与输入设备获取到的操作指令相对应的操作。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是:上述实施例提供的音频管理装置在管理音频的播放时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的音频管理装置与音频管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。