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

上传人:1*** 文档编号:624271 上传时间:2018-02-26 格式:PDF 页数:19 大小:1.90MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410310521.7

申请日:

2014.07.01

公开号:

CN104133847A

公开日:

2014.11.05

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20140701|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

党壮

地址:

100088 北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京市隆安律师事务所 11323

代理人:

权鲜枝

PDF下载: PDF下载
内容摘要

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

权利要求书

1.  一种浏览器中进行声音控制的方法,包括:
在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
对所述声音控制开关参数进行开启/关闭设置;
依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。

2.
  如权利要求1所述的方法,其中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。

3.
  如权利要求1所述的方法,其中,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括:
在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。

4.
  如权利要求1所述的方法,其中,所述对所述声音控制开关参数进行开启/关闭设置包括:
在浏览器中设置一对于浏览器声音进行控制的入口;
接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。

5.
  如权利要求1所述的方法,其中,所述依据当前操作系统的类型,确定出各个进程中的网页的声音播放方式包括:
对于当前操作系统的类型进行识别;
如果当前操作系统为第一操作系统,确定出对进程中的网页采用第一播放方式进行声音播放;
如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。

6.
  一种浏览器中进行声音控制的装置,包括:
参数设置单元,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
开关设置单元,适于对所述声音控制开关参数进行开启/关闭设置;
播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。

7.
  如权利要求6所述的装置,其中,在所述参数设置单元中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。

8.
  如权利要求6所述的装置,其中,所述参数设置单元具体适于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。

9.
  如权利要求6所述的装置,其中,所述开关设置单元包括:
入口模块,适于在浏览器中设置一对于浏览器声音进行控制的入口;
触发模块,适于接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。

10.
  如权利要求6所述的装置,其中,所述播放方式确定单元包括:
系统识别模块,适于对于当前操作系统的类型进行识别;
第一播放模块,适于当前操作系统为第一操作系统时,确定出对进程中的网页采用第一播放方式进行声音播放;
第二播放模块,适于当前操作系统为第二操作系统时,确定出对进程中的网页采用第二播放方式进行声音播放。

说明书

一种浏览器中进行声音控制的方法和装置
技术领域
本发明涉及浏览器声音控制技术,具体涉及一种浏览器中进行声音控制的方法和装置。
背景技术
目前的浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。在现在的浏览器中除了支持HTML规范中的标准网页元素之外,HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入视频、声音、流媒体等。
为了提高浏览器的运行效率,目前浏览器开始采用浏览器程序的多进程架构设计,使用对于浏览器主进程负责框架的绘制以及渲染结果图片的加载显示;而将各个网页的具体的网页渲染都运行在网页进程中由内核进行动态的渲染处理得到网页渲染结果。浏览器作为操作系统,例如Window操作系统中的一个常见的标准配置软件,目前被广泛地使用,其中主流的浏览器有Window自带的IE浏览器以及Chrome浏览器。
浏览器在播放视频及网页游戏的时候会伴随着声音,但是有些时候,我们在使用音乐播放器听音乐,这时候就不希望浏览器发出任何声音,同时又不能影响到其他进程进行发音。针对多进程架构的浏览器,需要采用一种方法来同时控制浏览器各个进程的声音播放,实现浏览器的静音效果,以满足用户的边听音乐边上网的需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分 地解决上述问题的一种浏览器中进行声音控制的方法和相应的装置。
依据本发明的一个方面,提供了一种浏览器中进行声音控制的方法,包括:
在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
对所述声音控制开关参数进行开启/关闭设置;
依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
根据本发明的另一方面,提供了一种浏览器中进行声音控制的装置,包括:
参数设置单元,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
开关设置单元,适于对所述声音控制开关参数进行开启/关闭设置;
播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
根据本发明的技术方案,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式,从而对进程中的网页的播放声音进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,同时又不会影响到浏览器之外的其他进程的发音,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图;
图2示出了根据本发明一个实施例的依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式的流程图;
图3示出了根据本发明一个实施例的当确定采用当前操作系统提供的音频接口进行声音播放时,对进程中的网页的播放声音进行开启/关闭操作的流程图;以及
图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图。如图1所示,该方法包括:
步骤S110,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数。
在本发明的一个实施例中,浏览器的各个进程包括:浏览器框架进程和网页进程。该声音控制开关参数可以设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
在本发明的另一个实施例中,可以在浏览器的DLL(Dynamic Link  Library,动态链接库)的共享区间中设置该声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
在本发明的再一个实施例中,浏览器的各个进程包括双核浏览器中的不同内核的浏览器网页进程。例如一个采用IE内核与chrome内核的双核浏览器,一般网页用chrome内核打开,网银等指定的网页用IE内核打开,IE内核与chrome内核分属与不同的进程。这样一个浏览器的多个内核,满足同一用户的不同需求。相比单核浏览器,双核浏览器采用技术手段能够解决不同网站兼容性问题,并且在速度和兼容性方面也更具优势,能够给用户带来更多的选择和更好的用户体验。
步骤S120,对所述声音控制开关参数进行开启/关闭设置。
在本发明的一个实施例中,可以在浏览器中设置一对于浏览器声音进行控制的入口;接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
如下是采用DLL共享区间技术在不同进程间共享声音控制开关参数的一个具体实现方法:
通过在DLL中定义
#pragma data_seg("Mute_section")
bool g_bAudioBlock=false;
#pragma data_seg()
#pragma comment(linker,"/SECTION:.Mute_section,RWS")
其中,g_bAudioBlock即为设置的声音控制开关参数。
当点击用户界面(User Interface,UI)上的静音按钮,就会调用AudioMute.dll的导出函数SetAudioBlock,通过该导出函数SetAudioBlock来设置声音控制开关参数g_bAudioBlock的变量值,由于g_bAudioBlock变量存储在DLL共享区间里,从而实现不同进程间g_bAudioBlock变量值的共享。
void CAudioMute::SetAudioBlock(bool bMute)
{g_bAudioBlock=bMute;}
步骤S130,依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式。
浏览器进程中的网页的声音播放与操作系统有很大的关系,不同的操作系统声音播放所采用的播放函数是不同的。当确定出浏览器网页采用进程内声音控制方式时,需要依据操作系统类型确定出各个进程中的网页的声音播放方式,进而实现对浏览器进程中的网页的播放声音进行开启/关闭操作。
如图2所示,上述步骤S130依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式具体可以包括:
步骤S201,对于当前操作系统的类型进行识别;
步骤S202,如果当前操作系统为第一操作系统,确定出对进程中的网页采用第一播放方式进行声音播放;
步骤S203,如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。
其中,所述第一操作系统包括:Windows的XP及XP以下操作系统;所述第一播放方式包括:采用当前操作系统自带的播放函数进行声音播放。
具体地,在Windows操作系统的XP及XP以下版本,当前操作系统自带的播放函数包括winmm.dll模块中waveOutWrite函数及midiStreamOut函数、dsound.dll模块中的Unlock函数和audioses.dll中的ReleaseBuffer函数。
一种实施例,在确定采用当前操作系统自带的播放函数进行声音播放之前,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;如果网页中的播放元素类型为第一音视频插件元素,确定挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。
在本发明中所述对加载的网页中的播放元素类型进行识别,指的是对于浏览器当前加载显示的网页中的每一个网页元素进行遍历,例如通过遍历所加载网页的Document Object Model(文档对象模型)树节点,即遍历了不同的网页元素,对于所遍历后的不同类型网页元素其遍历的结果中可以知道一些常见的、或者预定类型的网页元素,例如Flash插件元素、其为一个object网页标签,其中加载有Flash插件元素。在本发明中除了上述的Flash插件元素,其可以是其它的以object标签加载的其它音视频播放元素,例如快播qvod 插件、百度影音浏览器插件等,本领域的其它音视频播放元素也是在本发明的范围之内的。
在本发明的另一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对包含有指定类型的播放元素的加载网页的URL(Uniform Resoure Locator,统一资源定位器)进行识别,从而确定所加载网页中有第一音视频插件元素类型的播放元素。比如:优酷、爱奇艺等采用flash技术的视频网站,以及一些网页游戏网站,可以仅通过识别其URL来确定对其进程中的网页采用进程内声音控制方式。
在本发明的再一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对网页的文档对象模型(Document Object Model,DOM)树结构中的网页元素进行遍历获取到第一音视频插件元素。
如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制。
其中,第一音视频插件元素包括在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。这里的HTML5音视频播放元素是Audio或者Video标签元素,例如<audioid="media"src="http://www.abc.com/test.mp3"controls></audio>或者<videoid="media"src="http://www.abc.com/test.mp4"controls width="400px"heigt="400px"></video>其中的src属性都标记出了对应的音视频数据源。例如:http://www.abc.com/test.mp3或者http://www.abc.com/test.mp4。这里的Audio或者Video标签元素是本发明音视频插件元素的一个例子。这里Audio或者Video标签元素与Flash插件元素一样都是指本发明音视频插件元素的一个例子。
即是说,若进程中所开启的网页中包含有Flash播放插件元素或HTML5音视频播放元素中的一个实现的网页元素,就确定采纳进程内声音控制方式,其可以包含有快播qvod、百度影音、flash浏览器插件等。
例如,在YouTube上的FLV影片是通过一个SWF(Shockwave Flash)播放器播放,而这个播放器是通过Flash Player插件来播放影片;YouTube上的M4V影片直接利用HTML5的标签即可播放,而播放器是以JavaScript 写成,一切都以浏览器内建功能完成。可以理解,HTML5利用标签和JavaScript来播放影片,不需任何外挂就能达成,相对于Flash Player插件稳定许多。
其中,所述第二操作系统包括:Windows的Vista及Vista以上操作系统;所述第二播放方式包括:采用当前操作系统提供的音频接口进行声音播放。
例如,Windows操作系统的Vista以上版本:微软提供了一套新的音频接口,这时候声音播放可以通过IAudioSessionManager2来管理Session,每一个session都对应一个IAudioSessionControl接口,利用这个接口可以查询获取ISimpleAudioVolume接口,ISimpleAudioVolume::SetMute函数可以实现对声音的控制。
步骤S140,依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
一种实施例,在确定采用当前操作系统自带的播放函数进行声音播放时,例如Windows XP及XP以下操作系统下,发音函数是由Windows操作系统提供的4个函数组成:winmm.dll中的waveOutWrite函数和midiStreamOut函数,dsound.dll中的Unlock函数,和audioses.dll中的ReleaseBuffer函数,通过挂钩当前操作系统中这4个函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。
当然不同的网站采用的发音函数是不同的,在此仅是示例。对于上述4个函数中的至少一个进行挂钩处理,依据不同网站采用的发音函数的不同这4个函数可以进行组合,较佳的情形是在浏览器侧对于上述的4个函数分别都予以挂钩处理。通过Hook钩子技术,挂钩以上4个发音函数实现对进程内播放声音的控制,就可以进行进程内的静音操作,或者取消静音的操作(即开启声音的操作)。在上述的4个函数进行静音操作时都会查询不同进程间进行共享的声音控制开关参数,依据这个声音控制开关参数确定对于挂钩拦截到的各个发音函数进行关闭输出、停止声音数据写出或者对应的开启输出或者开启声音数据写出操作,从而达到进程内的静音操作或者取消静音的操作。
另一种实施例,参见图3,当确定采用当前操作系统提供的音频接口进 行声音播放时,对进程中的网页的播放声音进行开启/关闭操作包括:
步骤S301,创建声音控制线程,并设置定时器轮询。代码示例如下:
_beginthreadex(NULL,0,Win7Mutethread_Proc,this,CREATE_SUSPENDED,&dwThreadId);
m_nWin7MuteTimer=::SetTimer(NULL,1,3000,Win7MuteTimerProc)。
步骤S302,通过当前操作系统提供的IAudioSessionManager2接口枚举会话,每个会话对应一个IAudioSessionControl接口。代码示例如下:

步骤S303,根据该IAudioSessionControl接口判断会话的进程名,查询获取到ISimpleAudioVolume接口。代码示例如下:


步骤S304,通过该ISimpleAudioVolume接口提供的SetMute函数,对进程中的网页的播放声音进行开启/关闭操作。代码示例:

基于与上述方法同样的发明构思,图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。如图4所示,该浏览器中进行声音控制装置400包括:
参数设置单元410,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
开关设置单元420,适于对所述声音控制开关参数进行开启/关闭设置;
播放方式确定单元430,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
开关操作单元440,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
一种实施例,在上述参数设置单元410中,所述声音控制开关参数设置可以在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
一种实施例,上述参数设置单元410具体适用于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
其中,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。
一种实施例,上述开关设置单元420可以包括:
入口模块,适用于在浏览器中设置一对于浏览器声音进行控制的入口;
触发模块,适用于接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
一种实施例,上述播放方式确定单元430可以包括:
系统识别模块,适于对于当前操作系统的类型进行识别;
第一播放模块,适于当前操作系统为第一操作系统时,确定出对进程中的网页采用第一播放方式进行声音播放;
第二播放模块,适于当前操作系统为第二操作系统时,确定出对进程中的网页采用第二播放方式进行声音播放。
其中,所述第一操作系统包括:Windows的XP及XP以下操作系统;所述第一播放方式包括:采用当前操作系统自带的播放函数进行声音播放。
所述第二操作系统包括:Windows的Vista及Vista以上操作系统;所述第二播放方式包括:采用当前操作系统提供的音频接口进行声音播放。
一种实施例,若确定采用当前操作系统自带的播放函数进行声音播放时,上述开关操作单元440包括:
挂钩模块,适于挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。
另一种实施例,若确定采用当前操作系统提供的音频接口进行声音播放时,所述开关操作单元440包括:
线程创建模块,适于创建声音控制线程,并设置定时器轮询;
枚举模块,适于通过当前操作系统提供的IAudioSessionManager2接口枚举会话,每个会话对应一个IAudioSessionControl接口;
获取接口模块,适于根据该IAudioSessionControl接口判断会话的进程名,查询获取到ISimpleAudioVolume接口;
开关模块,适于通过该ISimpleAudioVolume接口提供的SetMute函数,对进程中的网页的播放声音进行开启/关闭操作。
优选地,在上述的若确定采用当前操作系统自带的播放函数进行声音播放时,开关操作单元440包括挂钩模块的那个本发明装置实施例中,这个装置还可以进一步包括:
元素识别模块,适于在确定采用当前操作系统自带的播放函数进行声音播放之前,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
进程内控制模块,适于如果网页中的播放元素为第一音视频插件元素,确定挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。
其中,所述第一音视频插件元素包括:在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
可选地,上述元素识别模块,具体包括:URL识别子模块,适于对包含有第一音视频插件元素的播放元素的加载网页的URL进行识别,从而确定所加载网页中有第一音视频插件元素类型的播放元素。
或者可选地,上述元素识别模块,具体包括:元素遍历子模块,适于对网页的文档对象模型DOM树结构中的网页元素进行遍历获取到第一音视频插件元素。
本发明的装置实施例的上述单元或模块,与本发明的方法实施例具有相同的发明构思,分别对应本发明的方法实施例的步骤,在此不再赘述。
综上所述,本发明实施例的一种浏览器中进行声音控制的方法和装置,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,然后依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式,从而对进程中的网页的播放声音进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,同时又不会影响到浏览器之外的其他进程的发音,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。
需要说明的是:在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自 适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例还揭示了:A1、一种浏览器中进行声音控制的方法,包括:
在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
对所述声音控制开关参数进行开启/关闭设置;
依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
A2、如A1所述的方法,其中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
A3、如A1所述的方法,其中,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括:
在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
A4、如A1所述的方法,其中,所述对所述声音控制开关参数进行开启/关闭设置包括:
在浏览器中设置一对于浏览器声音进行控制的入口;
接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。
A5、如A1所述的方法,其中,所述依据当前操作系统的类型,确定出各个进程中的网页的声音播放方式包括:
对于当前操作系统的类型进行识别;
如果当前操作系统为第一操作系统,确定出对进程中的网页采用第一播放方式进行声音播放;
如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。
A6、如A5所述的方法,其中,所述第一操作系统包括:Windows的XP及XP以下操作系统;所述第一播放方式包括:采用当前操作系统自带的播放函数进行声音播放。
A7、如A5所述的方法,其中,所述第二操作系统包括:Windows的Vista及Vista以上操作系统;所述第二播放方式包括:采用当前操作系统提供的音频接口进行声音播放。
A8、如A6所述的方法,其中,所述依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作包括:
若确定采用当前操作系统自带的播放函数进行声音播放时,挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。
A9、如A7所述的方法,其中,所述依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作包括:
若确定采用当前操作系统提供的音频接口进行声音播放时,创建声音控制线程,并设置定时器轮询;
通过当前操作系统提供的IAudioSessionManager2接口枚举会话,每个会话对应一个IAudioSessionControl接口;
根据该IAudioSessionControl接口判断会话的进程名,查询获取到ISimpleAudioVolume接口;
通过该ISimpleAudioVolume接口提供的SetMute函数,对进程中的网页的播放声音进行开启/关闭操作。
A10、如A8所述的方法,其中,在确定采用当前操作系统自带的播放函数进行声音播放之前,所述方法还包括:
对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
如果网页中的播放元素类型为第一音视频插件元素,确定挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。
A11、如A10所述的方法,其特征在于,所述第一音视频插件元素包括:在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
A12、如A10~A11中任一所述的方法,其中,所述对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别包括:
对包含有第一音视频插件元素的播放元素的加载网页的URL进行识别,从而确定所加载网页中有第一音视频插件元素类型的播放元素;
或者;
对网页的文档对象模型DOM树结构中的网页元素进行遍历获取到第一音视频插件元素。
A13、如A1所述的方法,其中,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。
本发明实施例还揭示了B14、一种浏览器中进行声音控制的装置,包括:
参数设置单元,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
开关设置单元,适于对所述声音控制开关参数进行开启/关闭设置;
播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;
开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。
B15、如B14所述的装置,其中,在所述参数设置单元中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
B16、如B14所述的装置,其中,所述参数设置单元具体适于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
B17、如B14所述的装置,其中,所述开关设置单元包括:
入口模块,适于在浏览器中设置一对于浏览器声音进行控制的入口;
触发模块,适于接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。
B18、如B14所述的装置,其中,所述播放方式确定单元包括:
系统识别模块,适于对于当前操作系统的类型进行识别;
第一播放模块,适于当前操作系统为第一操作系统时,确定出对进程中的网页采用第一播放方式进行声音播放;
第二播放模块,适于当前操作系统为第二操作系统时,确定出对进程中的网页采用第二播放方式进行声音播放。
B19、如B18所述的装置,其中,所述第一操作系统包括:Windows的XP及XP以下操作系统;所述第一播放方式包括:采用当前操作系统自带的播放函数进行声音播放。
B20、如B18所述的装置,其中,所述第二操作系统包括:Windows的Vista及Vista以上操作系统;所述第二播放方式包括:采用当前操作系统提供的音频接口进行声音播放。
B21、如B19所述的装置,其中,若确定采用当前操作系统自带的播放函数进行声音播放时,所述开关操作单元包括:
挂钩模块,适于挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。
B22、如B20所述的装置,其中,若确定采用当前操作系统提供的音频接口进行声音播放时,所述开关操作单元包括:
线程创建模块,适于创建声音控制线程,并设置定时器轮询;
枚举模块,适于通过当前操作系统提供的IAudioSessionManager2接口枚举会话,每个会话对应一个IAudioSessionControl接口;
获取接口模块,适于根据该IAudioSessionControl接口判断会话的进程名,查询获取到ISimpleAudioVolume接口;
开关模块,适于通过该ISimpleAudioVolume接口提供的SetMute函数,对进程中的网页的播放声音进行开启/关闭操作。
B23、如B21所述的装置,其中,所述装置还包括:
元素识别模块,适于在确定采用当前操作系统自带的播放函数进行声音播放之前,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
进程内控制模块,适于如果网页中的播放元素类型为第一音视频插件元 素,确定挂钩当前操作系统中的waveOutWrite函数、midiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。
B24、如B23所述的装置,其特征在于,所述第一音视频插件元素包括:在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
B25、如B23~B24中任一所述的装置,其中,所述元素识别模块包括:
URL识别子模块,适于对包含有第一音视频插件元素的播放元素的加载网页的URL进行识别,从而确定所加载网页中有第一音视频插件元素类型的播放元素;
或者;
元素遍历子模块,适于对网页的文档对象模型DOM树结构中的网页元素进行遍历获取到第一音视频插件元素。
B26、如B14所述的装置,其中,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。

一种浏览器中进行声音控制的方法和装置.pdf_第1页
第1页 / 共19页
一种浏览器中进行声音控制的方法和装置.pdf_第2页
第2页 / 共19页
一种浏览器中进行声音控制的方法和装置.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《一种浏览器中进行声音控制的方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种浏览器中进行声音控制的方法和装置.pdf(19页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104133847A43申请公布日20141105CN104133847A21申请号201410310521722申请日20140701G06F17/3020060171申请人北京奇虎科技有限公司地址100088北京市西城区新街口外大街28号D座112室(德胜园区)申请人奇智软件(北京)有限公司72发明人党壮74专利代理机构北京市隆安律师事务所11323代理人权鲜枝54发明名称一种浏览器中进行声音控制的方法和装置57摘要本发明公开了一种浏览器中进行声音控制的方法和装置。所述方法包括在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;对所述声音控制开关参数进行开启/关闭设。

2、置;依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。本发明能够实现对浏览器多个进程的播放声音同时控制,同时又不会影响到浏览器之外的其他进程的发音,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。51INTCL权利要求书2页说明书13页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书13页附图3页10申请公布号CN104133847ACN104133847A1/2页21一种浏览器中进行声音控制的方法,包括在浏览器中设置一在其不同进程间进行共享的声音控制开关参数。

3、;对所述声音控制开关参数进行开启/关闭设置;依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。2如权利要求1所述的方法,其中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。3如权利要求1所述的方法,其中,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。4如权利要求1所述的方法,其中,所述对所述声音控制开关参数进行开。

4、启/关闭设置包括在浏览器中设置一对于浏览器声音进行控制的入口;接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。5如权利要求1所述的方法,其中,所述依据当前操作系统的类型,确定出各个进程中的网页的声音播放方式包括对于当前操作系统的类型进行识别;如果当前操作系统为第一操作系统,确定出对进程中的网页采用第一播放方式进行声音播放;如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。6一种浏览器中进行声音控制的装置,包括参数设置单元,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;开关设置单元,适于对所述声音控制开关参数进行开。

5、启/关闭设置;播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。7如权利要求6所述的装置,其中,在所述参数设置单元中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。8如权利要求6所述的装置,其中,所述参数设置单元具体适于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。9如权利要求6所述的装置,其中,所述开关设置单元包括权利要求书CN1。

6、04133847A2/2页3入口模块,适于在浏览器中设置一对于浏览器声音进行控制的入口;触发模块,适于接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。10如权利要求6所述的装置,其中,所述播放方式确定单元包括系统识别模块,适于对于当前操作系统的类型进行识别;第一播放模块,适于当前操作系统为第一操作系统时,确定出对进程中的网页采用第一播放方式进行声音播放;第二播放模块,适于当前操作系统为第二操作系统时,确定出对进程中的网页采用第二播放方式进行声音播放。权利要求书CN104133847A1/13页4一种浏览器中进行声音控制的方法和装置技术领域0001本发明涉及浏览。

7、器声音控制技术,具体涉及一种浏览器中进行声音控制的方法和装置。背景技术0002目前的浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。在现在的浏览器中除了支持HTML规范中的标准网页元素之外,HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入视频、声音、流媒体等。0003为了提高浏览器的运行效率,目前浏览器开始采用浏览器程序的多进程架构设计,使用对。

8、于浏览器主进程负责框架的绘制以及渲染结果图片的加载显示;而将各个网页的具体的网页渲染都运行在网页进程中由内核进行动态的渲染处理得到网页渲染结果。浏览器作为操作系统,例如WINDOW操作系统中的一个常见的标准配置软件,目前被广泛地使用,其中主流的浏览器有WINDOW自带的IE浏览器以及CHROME浏览器。0004浏览器在播放视频及网页游戏的时候会伴随着声音,但是有些时候,我们在使用音乐播放器听音乐,这时候就不希望浏览器发出任何声音,同时又不能影响到其他进程进行发音。针对多进程架构的浏览器,需要采用一种方法来同时控制浏览器各个进程的声音播放,实现浏览器的静音效果,以满足用户的边听音乐边上网的需求。。

9、发明内容0005鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种浏览器中进行声音控制的方法和相应的装置。0006依据本发明的一个方面,提供了一种浏览器中进行声音控制的方法,包括0007在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;0008对所述声音控制开关参数进行开启/关闭设置;0009依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;0010依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。0011根据本发明的另一方面,提供了一种浏览器中进行声音控制的装置,包括0012参数设置单元,适于在浏览器中设置。

10、一在其不同进程间进行共享的声音控制开关参数;0013开关设置单元,适于对所述声音控制开关参数进行开启/关闭设置;0014播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;说明书CN104133847A2/13页50015开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。0016根据本发明的技术方案,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式,从而对进程中的网页的播放声音进行开启/。

11、关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,同时又不会影响到浏览器之外的其他进程的发音,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。0017上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明0018通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于。

12、示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中0019图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图;0020图2示出了根据本发明一个实施例的依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式的流程图;0021图3示出了根据本发明一个实施例的当确定采用当前操作系统提供的音频接口进行声音播放时,对进程中的网页的播放声音进行开启/关闭操作的流程图;以及0022图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。具体实施方式0023下面将参照附图更详细地描述本公开的示例性实施例。。

13、虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。0024图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图。如图1所示,该方法包括0025步骤S110,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数。0026在本发明的一个实施例中,浏览器的各个进程包括浏览器框架进程和网页进程。该声音控制开关参数可以设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。0027在本发明的另。

14、一个实施例中,可以在浏览器的DLLDYNAMICLINKLIBRARY,动态链接库的共享区间中设置该声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。0028在本发明的再一个实施例中,浏览器的各个进程包括双核浏览器中的不同内核的说明书CN104133847A3/13页6浏览器网页进程。例如一个采用IE内核与CHROME内核的双核浏览器,一般网页用CHROME内核打开,网银等指定的网页用IE内核打开,IE内核与CHROME内核分属与不同的进程。这样一个浏览器的多个内核,满足同一用户的不同需求。相比单核浏览器,双核浏览器采用技术手段能够解决不同网站兼容性问题,并且在速度和兼。

15、容性方面也更具优势,能够给用户带来更多的选择和更好的用户体验。0029步骤S120,对所述声音控制开关参数进行开启/关闭设置。0030在本发明的一个实施例中,可以在浏览器中设置一对于浏览器声音进行控制的入口;接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。0031如下是采用DLL共享区间技术在不同进程间共享声音控制开关参数的一个具体实现方法0032通过在DLL中定义0033PRAGMADATA_SEG“MUTE_SECTION“0034BOOLG_BAUDIOBLOCKFALSE;0035PRAGMADATA_SEG0036PRAGMACOMMENTLINKER,。

16、“/SECTIONMUTE_SECTION,RWS“0037其中,G_BAUDIOBLOCK即为设置的声音控制开关参数。0038当点击用户界面USERINTERFACE,UI上的静音按钮,就会调用AUDIOMUTEDLL的导出函数SETAUDIOBLOCK,通过该导出函数SETAUDIOBLOCK来设置声音控制开关参数G_BAUDIOBLOCK的变量值,由于G_BAUDIOBLOCK变量存储在DLL共享区间里,从而实现不同进程间G_BAUDIOBLOCK变量值的共享。0039VOIDCAUDIOMUTESETAUDIOBLOCKBOOLBMUTE0040G_BAUDIOBLOCKBMUTE;0。

17、041步骤S130,依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式。0042浏览器进程中的网页的声音播放与操作系统有很大的关系,不同的操作系统声音播放所采用的播放函数是不同的。当确定出浏览器网页采用进程内声音控制方式时,需要依据操作系统类型确定出各个进程中的网页的声音播放方式,进而实现对浏览器进程中的网页的播放声音进行开启/关闭操作。0043如图2所示,上述步骤S130依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式具体可以包括0044步骤S201,对于当前操作系统的类型进行识别;0045步骤S202,如果当前操作系统为第一操作系统,确定出对进程中的网。

18、页采用第一播放方式进行声音播放;0046步骤S203,如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。0047其中,所述第一操作系统包括WINDOWS的XP及XP以下操作系统;所述第一播放方式包括采用当前操作系统自带的播放函数进行声音播放。0048具体地,在WINDOWS操作系统的XP及XP以下版本,当前操作系统自带的播放函数说明书CN104133847A4/13页7包括WINMMDLL模块中WAVEOUTWRITE函数及MIDISTREAMOUT函数、DSOUNDDLL模块中的UNLOCK函数和AUDIOSESDLL中的RELEASEBUFFER函数。004。

19、9一种实施例,在确定采用当前操作系统自带的播放函数进行声音播放之前,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;如果网页中的播放元素类型为第一音视频插件元素,确定挂钩当前操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。0050在本发明中所述对加载的网页中的播放元素类型进行识别,指的是对于浏览器当前加载显示的网页中的每一个网页元素进行遍历,例如通过遍历所加载网页的DOCUMENTOBJECTMODEL文档对象模型树节点,即遍历了不。

20、同的网页元素,对于所遍历后的不同类型网页元素其遍历的结果中可以知道一些常见的、或者预定类型的网页元素,例如FLASH插件元素、其为一个OBJECT网页标签,其中加载有FLASH插件元素。在本发明中除了上述的FLASH插件元素,其可以是其它的以OBJECT标签加载的其它音视频播放元素,例如快播QVOD插件、百度影音浏览器插件等,本领域的其它音视频播放元素也是在本发明的范围之内的。0051在本发明的另一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对包含有指定类型的播放元素的加载网页的URLUNIFORMRESOURELOCATOR,统一资源定位器进行识别,从而确定。

21、所加载网页中有第一音视频插件元素类型的播放元素。比如优酷、爱奇艺等采用FLASH技术的视频网站,以及一些网页游戏网站,可以仅通过识别其URL来确定对其进程中的网页采用进程内声音控制方式。0052在本发明的再一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对网页的文档对象模型DOCUMENTOBJECTMODEL,DOM树结构中的网页元素进行遍历获取到第一音视频插件元素。0053如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制。0054其中,第一音视频插件元素包括在其所在网页进程进行音视频播放的FL。

22、ASH播放插件元素、HTML5音视频播放元素中的一个。这里的HTML5音视频播放元素是AUDIO或者VIDEO标签元素,例如或者其中的SRC属性都标记出了对应的音视频数据源。例如HTTP/WWWABCCOM/TESTMP3或者HTTP/WWWABCCOM/TESTMP4。这里的AUDIO或者VIDEO标签元素是本发明音视频插件元素的一个例子。这里AUDIO或者VIDEO标签元素与FLASH插件元素一样都是指本发明音视频插件元素的一个例子。0055即是说,若进程中所开启的网页中包含有FLASH播放插件元素或HTML5音视频播放元素中的一个实现的网页元素,就确定采纳进程内声音控制方式,其可以包含有。

23、快播QVOD、百度影音、FLASH浏览器插件等。0056例如,在YOUTUBE上的FLV影片是通过一个SWFSHOCKWAVEFLASH播放器播放,而这个播放器是通过FLASHPLAYER插件来播放影片;YOUTUBE上的M4V影片直接利用HTML5说明书CN104133847A5/13页8的标签即可播放,而播放器是以JAVASCRIPT写成,一切都以浏览器内建功能完成。可以理解,HTML5利用标签和JAVASCRIPT来播放影片,不需任何外挂就能达成,相对于FLASHPLAYER插件稳定许多。0057其中,所述第二操作系统包括WINDOWS的VISTA及VISTA以上操作系统;所述第二播放方。

24、式包括采用当前操作系统提供的音频接口进行声音播放。0058例如,WINDOWS操作系统的VISTA以上版本微软提供了一套新的音频接口,这时候声音播放可以通过IAUDIOSESSIONMANAGER2来管理SESSION,每一个SESSION都对应一个IAUDIOSESSIONCONTROL接口,利用这个接口可以查询获取ISIMPLEAUDIOVOLUME接口,ISIMPLEAUDIOVOLUMESETMUTE函数可以实现对声音的控制。0059步骤S140,依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。0060一种实施例,在确定采用当前操作系统自带的播放函数进行声音。

25、播放时,例如WINDOWSXP及XP以下操作系统下,发音函数是由WINDOWS操作系统提供的4个函数组成WINMMDLL中的WAVEOUTWRITE函数和MIDISTREAMOUT函数,DSOUNDDLL中的UNLOCK函数,和AUDIOSESDLL中的RELEASEBUFFER函数,通过挂钩当前操作系统中这4个函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。0061当然不同的网站采用的发音函数是不同的,在此仅是示例。对于上述4个函数中的至少一个进行挂钩处理,依据不同网站采用的发音函数的不同这4个函数可以进行组合,较佳的情形是在浏览器侧对于上述的4个函数分别都予以挂钩处理。通过H。

26、OOK钩子技术,挂钩以上4个发音函数实现对进程内播放声音的控制,就可以进行进程内的静音操作,或者取消静音的操作即开启声音的操作。在上述的4个函数进行静音操作时都会查询不同进程间进行共享的声音控制开关参数,依据这个声音控制开关参数确定对于挂钩拦截到的各个发音函数进行关闭输出、停止声音数据写出或者对应的开启输出或者开启声音数据写出操作,从而达到进程内的静音操作或者取消静音的操作。0062另一种实施例,参见图3,当确定采用当前操作系统提供的音频接口进行声音播放时,对进程中的网页的播放声音进行开启/关闭操作包括0063步骤S301,创建声音控制线程,并设置定时器轮询。代码示例如下0064_BEGINT。

27、HREADEXNULL,0,WIN7MUTETHREAD_PROC,THIS,CREATE_SUSPENDED,DWTHREADID;0065M_NWIN7MUTETIMERSETTIMERNULL,1,3000,WIN7MUTETIMERPROC。0066步骤S302,通过当前操作系统提供的IAUDIOSESSIONMANAGER2接口枚举会话,每个会话对应一个IAUDIOSESSIONCONTROL接口。代码示例如下0067说明书CN104133847A6/13页90068步骤S303,根据该IAUDIOSESSIONCONTROL接口判断会话的进程名,查询获取到ISIMPLEAUDIOV。

28、OLUME接口。代码示例如下00690070说明书CN104133847A7/13页100071步骤S304,通过该ISIMPLEAUDIOVOLUME接口提供的SETMUTE函数,对进程中的网页的播放声音进行开启/关闭操作。代码示例00720073基于与上述方法同样的发明构思,图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。如图4所示,该浏览器中进行声音控制装置400包括0074参数设置单元410,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;0075开关设置单元420,适于对所述声音控制开关参数进行开启/关闭设置;0076播放方式确定单元430,适于依。

29、据当前操作系统的类型,确定出浏览器的各个进程说明书CN104133847A108/13页11中的网页的声音播放方式;0077开关操作单元440,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。0078一种实施例,在上述参数设置单元410中,所述声音控制开关参数设置可以在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。0079一种实施例,上述参数设置单元410具体适用于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。0080其中,所述浏览器的各个进程包括双核浏览器中。

30、的不同内核的浏览器网页进程。0081一种实施例,上述开关设置单元420可以包括0082入口模块,适用于在浏览器中设置一对于浏览器声音进行控制的入口;0083触发模块,适用于接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。0084一种实施例,上述播放方式确定单元430可以包括0085系统识别模块,适于对于当前操作系统的类型进行识别;0086第一播放模块,适于当前操作系统为第一操作系统时,确定出对进程中的网页采用第一播放方式进行声音播放;0087第二播放模块,适于当前操作系统为第二操作系统时,确定出对进程中的网页采用第二播放方式进行声音播放。0088其中,所述第一操作。

31、系统包括WINDOWS的XP及XP以下操作系统;所述第一播放方式包括采用当前操作系统自带的播放函数进行声音播放。0089所述第二操作系统包括WINDOWS的VISTA及VISTA以上操作系统;所述第二播放方式包括采用当前操作系统提供的音频接口进行声音播放。0090一种实施例,若确定采用当前操作系统自带的播放函数进行声音播放时,上述开关操作单元440包括0091挂钩模块,适于挂钩当前操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。0092另一种实施例,若确定采用当前。

32、操作系统提供的音频接口进行声音播放时,所述开关操作单元440包括0093线程创建模块,适于创建声音控制线程,并设置定时器轮询;0094枚举模块,适于通过当前操作系统提供的IAUDIOSESSIONMANAGER2接口枚举会话,每个会话对应一个IAUDIOSESSIONCONTROL接口;0095获取接口模块,适于根据该IAUDIOSESSIONCONTROL接口判断会话的进程名,查询获取到ISIMPLEAUDIOVOLUME接口;0096开关模块,适于通过该ISIMPLEAUDIOVOLUME接口提供的SETMUTE函数,对进程中的网页的播放声音进行开启/关闭操作。0097优选地,在上述的若确。

33、定采用当前操作系统自带的播放函数进行声音播放时,开说明书CN104133847A119/13页12关操作单元440包括挂钩模块的那个本发明装置实施例中,这个装置还可以进一步包括0098元素识别模块,适于在确定采用当前操作系统自带的播放函数进行声音播放之前,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;0099进程内控制模块,适于如果网页中的播放元素为第一音视频插件元素,确定挂钩当前操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。0。

34、100其中,所述第一音视频插件元素包括在其所在网页进程进行音视频播放的FLASH播放插件元素、HTML5音视频播放元素中的一个。0101可选地,上述元素识别模块,具体包括URL识别子模块,适于对包含有第一音视频插件元素的播放元素的加载网页的URL进行识别,从而确定所加载网页中有第一音视频插件元素类型的播放元素。0102或者可选地,上述元素识别模块,具体包括元素遍历子模块,适于对网页的文档对象模型DOM树结构中的网页元素进行遍历获取到第一音视频插件元素。0103本发明的装置实施例的上述单元或模块,与本发明的方法实施例具有相同的发明构思,分别对应本发明的方法实施例的步骤,在此不再赘述。0104综上。

35、所述,本发明实施例的一种浏览器中进行声音控制的方法和装置,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,然后依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式,从而对进程中的网页的播放声音进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,同时又不会影响到浏览器之外的其他进程的发音,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。0105需要说明的是在此提供的算法和显示不。

36、与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。0106在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。0107类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实。

37、施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。0108本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或说明书CN104133847A1210/13页13子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书包括伴随的权利要求、摘要和附。

38、图中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书包括伴随的权利要求、摘要和附图中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。0109此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。0110本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器DSP来实现根据本发明实施例设备中的。

39、一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序例如,计算机程序和计算机程序产品。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。0111应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“。

40、一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。0112本发明实施例还揭示了A1、一种浏览器中进行声音控制的方法,包括0113在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;0114对所述声音控制开关参数进行开启/关闭设置;0115依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;0116依据确定出的网页的声音播放方式,对进程中的网页的播放声音。

41、进行开启/关闭操作。0117A2、如A1所述的方法,其中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。0118A3、如A1所述的方法,其中,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括0119在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。0120A4、如A1所述的方法,其中,所述对所述声音控制开关参数进行开启/关闭设置包括0121在浏览器中设置一对于浏览器声音进行控制的入口;0122接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行。

42、开启说明书CN104133847A1311/13页14/关闭设置。0123A5、如A1所述的方法,其中,所述依据当前操作系统的类型,确定出各个进程中的网页的声音播放方式包括0124对于当前操作系统的类型进行识别;0125如果当前操作系统为第一操作系统,确定出对进程中的网页采用第一播放方式进行声音播放;0126如果当前操作系统为第二操作系统,确定出对进程中的网页采用第二播放方式进行声音播放。0127A6、如A5所述的方法,其中,所述第一操作系统包括WINDOWS的XP及XP以下操作系统;所述第一播放方式包括采用当前操作系统自带的播放函数进行声音播放。0128A7、如A5所述的方法,其中,所述第二。

43、操作系统包括WINDOWS的VISTA及VISTA以上操作系统;所述第二播放方式包括采用当前操作系统提供的音频接口进行声音播放。0129A8、如A6所述的方法,其中,所述依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作包括0130若确定采用当前操作系统自带的播放函数进行声音播放时,挂钩当前操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。0131A9、如A7所述的方法,其中,所述依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开。

44、启/关闭操作包括0132若确定采用当前操作系统提供的音频接口进行声音播放时,创建声音控制线程,并设置定时器轮询;0133通过当前操作系统提供的IAUDIOSESSIONMANAGER2接口枚举会话,每个会话对应一个IAUDIOSESSIONCONTROL接口;0134根据该IAUDIOSESSIONCONTROL接口判断会话的进程名,查询获取到ISIMPLEAUDIOVOLUME接口;0135通过该ISIMPLEAUDIOVOLUME接口提供的SETMUTE函数,对进程中的网页的播放声音进行开启/关闭操作。0136A10、如A8所述的方法,其中,在确定采用当前操作系统自带的播放函数进行声音播放。

45、之前,所述方法还包括0137对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;0138如果网页中的播放元素类型为第一音视频插件元素,确定挂钩当前操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个,以对网页中的第一音视频插件元素的声音播放声音进行开启/关闭操作。0139A11、如A10所述的方法,其特征在于,所述第一音视频插件元素包括在其所在网页进程进行音视频播放的FLASH播放插件元素、HTML5音视频播放元素中的一个。0140A12、如A10A11中任一所述的方法,其中,所述对于浏览器的网页进程中所。

46、加载的网页中的播放元素类型进行识别包括0141对包含有第一音视频插件元素的播放元素的加载网页的URL进行识别,从而确定所加载网页中有第一音视频插件元素类型的播放元素;说明书CN104133847A1412/13页150142或者;0143对网页的文档对象模型DOM树结构中的网页元素进行遍历获取到第一音视频插件元素。0144A13、如A1所述的方法,其中,所述浏览器的各个进程包括双核浏览器中的不同内核的浏览器网页进程。0145本发明实施例还揭示了B14、一种浏览器中进行声音控制的装置,包括0146参数设置单元,适于在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;0147开关设置单元,适。

47、于对所述声音控制开关参数进行开启/关闭设置;0148播放方式确定单元,适于依据当前操作系统的类型,确定出浏览器的各个进程中的网页的声音播放方式;0149开关操作单元,适于依据确定出的网页的声音播放方式,对进程中的网页的播放声音进行开启/关闭操作。0150B15、如B14所述的装置,其中,在所述参数设置单元中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。0151B16、如B14所述的装置,其中,所述参数设置单元具体适于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。0。

48、152B17、如B14所述的装置,其中,所述开关设置单元包括0153入口模块,适于在浏览器中设置一对于浏览器声音进行控制的入口;0154触发模块,适于接收对于该控制用入口的触发,从而实现进行对所述声音控制开关参数进行开启/关闭设置。0155B18、如B14所述的装置,其中,所述播放方式确定单元包括0156系统识别模块,适于对于当前操作系统的类型进行识别;0157第一播放模块,适于当前操作系统为第一操作系统时,确定出对进程中的网页采用第一播放方式进行声音播放;0158第二播放模块,适于当前操作系统为第二操作系统时,确定出对进程中的网页采用第二播放方式进行声音播放。0159B19、如B18所述的装。

49、置,其中,所述第一操作系统包括WINDOWS的XP及XP以下操作系统;所述第一播放方式包括采用当前操作系统自带的播放函数进行声音播放。0160B20、如B18所述的装置,其中,所述第二操作系统包括WINDOWS的VISTA及VISTA以上操作系统;所述第二播放方式包括采用当前操作系统提供的音频接口进行声音播放。0161B21、如B19所述的装置,其中,若确定采用当前操作系统自带的播放函数进行声音播放时,所述开关操作单元包括0162挂钩模块,适于挂钩当前操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个,对进程中的网页的播放声音进行开启/关闭操作。说明书CN104133847A1513/13页160163B22、如B20所述的装置,其中,若确定采用当前操作系统提供的音频接口进行声音播放时,所述开关操作单元包括0164线程创建模块,适于创建声音控制线程,并设置定时器轮询;0165枚举模块,适于通过当前操作系统提供的IAUDIOSESSIONMANAGER2接口枚举会话,每个会话对应一个IAUDIOSESSIONCONTROL接口;0166获取接口模块,适于根据该IAUDIOSESSIONCONTROL接口判断会话的进程名,查询获取到ISIMPLEAUDIOVOLUME接口;0167开关模。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1