一种浏览器中进行声音控制的方法和装置制造方法

文档序号:6551930阅读:173来源:国知局
一种浏览器中进行声音控制的方法和装置制造方法
【专利摘要】本发明公开了一种浏览器中进行声音控制的方法和装置。所述方法包括在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;对所述声音控制开关参数进行开启/关闭设置;依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。本发明能够实现对浏览器多个进程的播放声音同时控制,同时又不会影响到浏览器之外的其他进程的发音,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。
【专利说明】一种浏览器中进行声音控制的方法和装置

【技术领域】
[0001]本发明涉及浏览器声音控制技术,具体涉及一种浏览器中进行声音控制的方法和
>J-U ρ?α装直。

【背景技术】
[0002]目前的浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。在现在的浏览器中除了支持HTML规范中的标准网页元素之外,HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入视频、声音、流媒体等。
[0003]为了提高浏览器的运行效率,目前浏览器开始采用浏览器程序的多进程架构设计,使用对于浏览器主进程负责框架的绘制以及渲染结果图片的加载显示;而将各个网页的具体的网页渲染都运行在网页进程中由内核进行动态的渲染处理得到网页渲染结果。浏览器作为操作系统,例如Window操作系统中的一个常见的标准配置软件,目前被广泛地使用,其中主流的浏览器有Window自带的IE浏览器以及Ch1me浏览器。
[0004]浏览器在播放视频及网页游戏的时候会伴随着声音,但是有些时候,我们在使用音乐播放器听音乐,这时候就不希望浏览器发出任何声音,同时又不能影响到其他进程进行发音。针对多进程架构的浏览器,需要采用一种方法来同时控制浏览器各个进程的声音播放,实现浏览器的静音效果,以满足用户的边听音乐边上网的需求。


【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种浏览器中进行声音控制的方法和相应的装置。
[0006]依据本发明的一个方面,提供了一种浏览器中进行声音控制的方法,包括:
[0007]在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
[0008]对所述声音控制开关参数进行开启/关闭设置;
[0009]依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
[0010]依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
[0011]根据本发明的另一方面,提供了一种浏览器中进行声音控制的装置,包括:
[0012]参数设置单元,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
[0013]开关设置单元,适于对所述声音控制开关参数进行开启/关闭设置;
[0014]播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
[0015]开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
[0016]根据本发明的技术方案,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式,从而对进程中的网页的播放声音进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,同时又不会影响到浏览器之外的其他进程的发音,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。
[0017]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。

【专利附图】

【附图说明】
[0018]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0019]图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图;
[0020]图2示出了根据本发明一个实施例的依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式的流程图;
[0021]图3示出了根据本发明一个实施例的当确定采用当前操作系统提供的音频接口进行声音播放时,对进程中的网页的播放声音进行开启/关闭操作的流程图;以及
[0022]图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。

【具体实施方式】
[0023]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0024]图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图。如图1所示,该方法包括:
[0025]步骤S110,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数。
[0026]在本发明的一个实施例中,浏览器的各个进程包括:浏览器框架进程和网页进程。该声音控制开关参数可以设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
[0027]在本发明的另一个实施例中,可以在浏览器的DLL(Dynamic Link Library,动态链接库)的共享区间中设置该声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
[0028]在本发明的再一个实施例中,浏览器的各个进程包括双核浏览器中的不同内核的浏览器网页进程。例如一个米用IE内核与chrome内核的双核浏览器,一般网页用chrome内核打开,网银等指定的网页用IE内核打开,IE内核与chrome内核分属与不同的进程。这样一个浏览器的多个内核,满足同一用户的不同需求。相比单核浏览器,双核浏览器采用技术手段能够解决不同网站兼容性问题,并且在速度和兼容性方面也更具优势,能够给用户带来更多的选择和更好的用户体验。
[0029]步骤S120,对所述声音控制开关参数进行开启/关闭设置。
[0030]在本发明的一个实施例中,可以在浏览器中设置一对于浏览器声音进行控制的入口 ;接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
[0031]如下是采用DLL共享区间技术在不同进程间共享声音控制开关参数的一个具体实现方法:
[0032]通过在DLL中定义
[0033]#pragma data_seg("Mute_sect1n")
[0034]bool g_bAud1Block = false ;
[0035]#pragma data_seg ()
[0036]#pragma comment(linker, "/SECT1N:.Mute_sect1n, RWS")
[0037]其中,g_bAud1Block即为设置的声音控制开关参数。
[0038]当点击用户界面(User Interface, UI)上的静音按钮,就会调用Aud1Mute.dll的导出函数SetAud1Block,通过该导出函数SetAud1Block来设置声音控制开关参数g_bAud1Block的变量值,由于g_bAud1Block变量存储在DLL共享区间里,从而实现不同进程间g_bAud1Block变量值的共享。
[0039]void CAud1Mute::SetAud1Block (bool bMute)
[0040]{g_bAud1Block = bMute ;}
[0041]步骤S130,依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式。
[0042]浏览器进程中的网页的声音播放与操作系统有很大的关系,不同的操作系统声音播放所采用的播放函数是不同的。当确定出浏览器网页采用进程内声音控制方式时,需要依据操作系统类型确定出各个进程中的网页的声音播放方式,进而实现对浏览器进程中的网页的播放声音进行开启/关闭操作。
[0043]如图2所示,上述步骤S130依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式具体可以包括:
[0044]步骤S201,对于当前操作系统的类型进行识别;
[0045]步骤S202,如果当前操作系统为第一操作系统,确定出对进程中的网页采用第一播放方式进行声音播放;
[0046]步骤S203,如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。
[0047]其中,所述第一操作系统包括=Windows的XP及XP以下操作系统;所述第一播放方式包括:采用当前操作系统自带的播放函数进行声音播放。
[0048]具体地,在Windows操作系统的XP及XP以下版本,当前操作系统自带的播放函数包括 winmm.dll 模块中 waveOutWrite 函数及 midiStreamOut 函数、dsound.dll 模块中的Unlock 函数和 aud1ses.dll 中的 ReleaseBuffer 函数。
[0049]一种实施例,在确定采用当前操作系统自带的播放函数进行声音播放之前,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;如果网页中的播放元素类型为第一音视频插件元素,确定挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。
[0050]在本发明中所述对加载的网页中的播放元素类型进行识别,指的是对于浏览器当前加载显示的网页中的每一个网页元素进行遍历,例如通过遍历所加载网页的DocumentObject Model (文档对象模型)树节点,即遍历了不同的网页元素,对于所遍历后的不同类型网页元素其遍历的结果中可以知道一些常见的、或者预定类型的网页元素,例如Flash插件元素、其为一个object网页标签,其中加载有Flash插件元素。在本发明中除了上述的Flash插件元素,其可以是其它的以object标签加载的其它音视频播放元素,例如快播qvod插件、百度影音浏览器插件等,本领域的其它音视频播放元素也是在本发明的范围之内的。
[0051]在本发明的另一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对包含有指定类型的播放元素的加载网页的URL (UniformResoure Locator,统一资源定位器)进行识别,从而确定所加载网页中有第一音视频插件元素类型的播放元素。比如:优酷、爱奇艺等采用flash技术的视频网站,以及一些网页游戏网站,可以仅通过识别其URL来确定对其进程中的网页采用进程内声音控制方式。
[0052]在本发明的再一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对网页的文档对象模型(Document Object Model,D0M)树结构中的网页元素进行遍历获取到第一音视频插件元素。
[0053]如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制。
[0054]其中,第一音视频插件元素包括在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。这里的HTML5音视频播放元素是Aud1或者 Video 标签兀素,例如〈aud1id = 〃media〃src = 〃http://www.abc.com/test.mp3〃controls>〈/aud1> 或者〈videoid = 〃media〃src = ^http://www.abc.com/test.mp4〃controls width = 〃400px〃heigt = 〃400px〃X/video> 其中的 src 属性都标记出了对应的音视频数据源。例如:http://www.abc.com/test, mp3 或者 http://www.abc.com/test, mp4。这里的Aud1或者Video标签元素是本发明音视频插件元素的一个例子。这里Aud1或者Video标签元素与Flash插件元素一样都是指本发明音视频插件元素的一个例子。
[0055]即是说,若进程中所开启的网页中包含有Flash播放插件元素或HTML5音视频播放元素中的一个实现的网页元素,就确定采纳进程内声音控制方式,其可以包含有快播qvod、百度影音、flash浏览器插件等。
[0056]例如,在YouTube上的FLV影片是通过一个SWF(Shockwave Flash)播放器播放,而这个播放器是通过Flash Player插件来播放影片;YouTube上的M4V影片直接利用HTML5的标签即可播放,而播放器是以JavaScript写成,一切都以浏览器内建功能完成。可以理解,HTML5利用标签和JavaScript来播放影片,不需任何外挂就能达成,相对于FlashPlayer插件稳定许多。
[0057]其中,所述第二操作系统包括=Windows的Vista及Vista以上操作系统;所述第二播放方式包括:采用当前操作系统提供的音频接口进行声音播放。
[0058]例如,Windows操作系统的Vista以上版本:微软提供了一套新的音频接口,这时候声音播放可以通过IAud1Sess1nManager2来管理Sess1n,每一个sess1n都对应一个 IAud1Sess1nControl 接口,利用这个接口 可以查询获取 ISimpleAud1Volume 接口,ISimpleAud1Volume::SetMute函数可以实现对声音的控制。
[0059]步骤S140,依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
[0060]一种实施例,在确定采用当前操作系统自带的播放函数进行声音播放时,例如Windows XP及XP以下操作系统下,发音函数是由Windows操作系统提供的4个函数组成:winmm.dll 中的 waveOutWrite 函数和 midiStreamOut 函数,dsound.dll 中的 Unlock 函数,和aud1ses.dll中的ReleaseBuffer函数,通过挂钩当前操作系统中这4个函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。
[0061]当然不同的网站采用的发音函数是不同的,在此仅是示例。对于上述4个函数中的至少一个进行挂钩处理,依据不同网站采用的发音函数的不同这4个函数可以进行组合,较佳的情形是在浏览器侧对于上述的4个函数分别都予以挂钩处理。通过Hook钩子技术,挂钩以上4个发音函数实现对进程内播放声音的控制,就可以进行进程内的静音操作,或者取消静音的操作(即开启声音的操作)。在上述的4个函数进行静音操作时都会查询不同进程间进行共享的声音控制开关参数,依据这个声音控制开关参数确定对于挂钩拦截到的各个发音函数进行关闭输出、停止声音数据写出或者对应的开启输出或者开启声音数据写出操作,从而达到进程内的静音操作或者取消静音的操作。
[0062]另一种实施例,参见图3,当确定采用当前操作系统提供的音频接口进行声音播放时,对进程中的网页的播放声音进行开启/关闭操作包括:
[0063]步骤S301,创建声音控制线程,并设置定时器轮询。代码示例如下:
[0064]_beginthreadex (NULL, O, Win7Mutethread_Proc, this, CREATE_SUSPENDED, &dwThreadId);
[0065]m_nffin7MuteTimer =::SetTimer(NULL, I, 3000, Win7MuteTimerProc)。
[0066]步骤S302,通过当前操作系统提供的IAud1Sess1nManager2接口枚举会话,每个会话对应一个IAud1Sess1nControl接口。代码示例如下:
[0067]

【权利要求】
1.一种浏览器中进行声音控制的方法,包括: 在浏览器中设置一在其不同进程间进行共享的声音控制开关参数; 对所述声音控制开关参数进行开启/关闭设置; 依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式; 依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
2.如权利要求1所述的方法,其中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
3.如权利要求1所述的方法,其中,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括: 在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
4.如权利要求1所述的方法,其中,所述对所述声音控制开关参数进行开启/关闭设置包括: 在浏览器中设置一对于浏览器声音进行控制的入口; 接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。
5.如权利要求1所述的方法,其中,所述依据当前操作系统的类型,确定出各个进程中的网页的声音播放方式包括: 对于当前操作系统的类型进行识别; 如果当前操作系统为第一操作系统,确定出对进程中的网页采用第一播放方式进行声音播放; 如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。
6.一种浏览器中进行声音控制的装置,包括: 参数设置单元,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数; 开关设置单元,适于对所述声音控制开关参数进行开启/关闭设置; 播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式; 开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
7.如权利要求6所述的装置,其中,在所述参数设置单元中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共孚。
8.如权利要求6所述的装置,其中,所述参数设置单元具体适于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
9.如权利要求6所述的装置,其中,所述开关设置单元包括: 入口模块,适于在浏览器中设置一对于浏览器声音进行控制的入口; 触发模块,适于接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。
10.如权利要求6所述的装置,其中,所述播放方式确定单元包括: 系统识别模块,适于对于当前操作系统的类型进行识别; 第一播放模块,适于当前操作系统为第一操作系统时,确定出对进程中的网页采用第一播放方式进行声音播放; 第二播放模块,适于当前操作系统为第二操作系统时,确定出对进程中的网页采用第二播放方式进行声音播放。
【文档编号】G06F17/30GK104133847SQ201410310521
【公开日】2014年11月5日 申请日期:2014年7月1日 优先权日:2014年7月1日
【发明者】党壮 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1