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

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

CN201410311239.0

申请日:

2014.07.01

公开号:

CN104133849A

公开日:

2014.11.05

当前法律状态:

实审

有效性:

审中

法律详情:

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

IPC分类号:

G06F17/30; G06F3/16

主分类号:

G06F17/30

申请人:

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

发明人:

党壮

地址:

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

优先权:

专利代理机构:

北京市隆安律师事务所 11323

代理人:

权鲜枝

PDF下载: PDF下载
内容摘要

本发明公开了一种浏览器中进行声音控制的方法和装置。所述方法包括在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;对所述声音控制开关参数进行开启/关闭设置;依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。本发明给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作。

权利要求书

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

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

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

4.
  如权利要求1所述的方法,其特征在于,所述依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式包括:
对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;
如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。

5.
  如权利要求1所述的方法,其特征在于,所述依据确定出的进程内声 音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作包括:
使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。

6.
  如权利要求1所述的方法,其特征在于,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。

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

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

9.
  如权利要求7所述的装置,其特征在于,所述控制方式确定单元包括:
识别模块,适用于对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
进程内控制模块,适用于如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;
进程外控制模块,适用于如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。

10.
  如权利要求7所述的装置,其特征在于,所述开关操作单元包括:
第一操作模块,适用于使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
第二操作模块,适用于使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
第三操作模块,适用于使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。

说明书

一种浏览器中进行声音控制的方法和装置
技术领域
本发明属于互联网领域,涉及浏览器声音控制技术,具体涉及一种浏览器中进行声音控制的方法和装置。
背景技术
目前的浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。在现在的浏览器中除了支持HTML规范中的标准网页元素之外,HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入视频、声音、流媒体等。
为了提高浏览器的运行效率以及运行的安全性,目前浏览器开始采用浏览器程序的多进程架构设计,使用对于浏览器主进程负责框架的绘制以及渲染结果图片的加载显示;而将各个网页的具体的网页渲染都运行在网页进程中由内核进行动态的渲染处理得到网页渲染结果。
因此在这种多进程架构下的浏览器加载网页中,有一些网页元素是声音数据,这些声音数据的播放加载在不同浏览器的进程中。针对多进程架构的浏览器,需要采用一种方法来同时控制浏览器各个进程的声音播放,而对于该问题,目前尚未提出有效的解决方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种浏览器中进行声音控制的方法和相应的装置。
依据本发明的一个方面,提供了一种浏览器中进行声音控制的方法,包括:
在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
对所述声音控制开关参数进行开启/关闭设置;
依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;
依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
根据本发明的另一方面,提供了一种浏览器中进行声音控制的装置,包括:
参数设置单元,适用于在浏览器中设置一在其不同进程间所共享的声音控制开关参数;
开关设置单元,适用于对所述声音控制开关参数进行开启/关闭设置;
控制方式确定单元,适用于依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;
开关操作单元,适用于依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
根据本发明的技术方案,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,通过依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页是采用进程内声音控制方式和/或进程外声音控制方式,从而对进程中的网页的播放声音采取相应的声音控制方式进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图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变量值的共享。

步骤S130,依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方 式。
在本发明的一个实施例中,上述步骤S130可以采用图2的步骤实现。图2示出了根据本发明一个实施例的确定网页进程采用的声音控制方式的流程图,包括:
步骤S1301,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别。
在本发明中所述加载的网页中的播放元素类型进行识别,指的是对于浏览器当前加载显示的网页中的每一个网页元素进行遍历,例如通过遍历所加载网页的Document Object Model(文档对象模型)树节点,即遍历了不同的网页元素,对于所遍历后的不同类型网页元素其遍历的结果中可以知道一些常见的、或者预定类型的网页元素,例如Flash插件元素、其为一个object网页标签,其中加载有Flash插件元素。在本发明中除了上述的Flash插件元素,其可以是其它的以object标签加载的其它音视频播放元素,例如快播qvod插件、百度影音浏览器插件等,本领域的其它音视频播放元素也是在本发明的范围之内的。在本发明的另一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对包含有指定类型的播放元素的加载网页的URL(Uniform Resoure Locator,统一资源定位器)进行识别。比如:优酷、爱奇艺等采用flash技术的视频网站,以及一些网页游戏网站,可以仅通过识别其URL来确定对其进程中的网页采用进程内声音控制方式。
步骤S1302,如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制。
其中,第一音视频插件元素包括在其所在网页进程进行音视频播放的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插件稳定许多。
步骤S1302,如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。
其中,第二音视频插件元素包括在其所在网页进程不进行音频播放的音视频插件元素,其创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。
采用进程外发音的网址示例:QQzone网站,QQ空间采用插件+进程外QzoneMusic.exe独立来发音;1ting音乐网,利用Window Media Player插件发音,创建外部COM进程mfpmp.exe来发音。这两个网站通过在网页进程中加载不进行音频播放的音视频插件元素,并通过在网页进程中创建一个外部的Com进程例如Qzonemusic.exe、mfpmp.exe等,与所加载的不进行音频播放的音视频插件进行交互以传递声音数据,由COM进程在所述网页进程外进行声音数据的播放。
在本发明的一个实施例中,若上述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放。例如在网页进程1中加载播放视频插件元素1、在网页进程2中加载播放视频插件元素2与视频插件元素3,这时为了防止视频播放插件元素的运行异常对于网页进程1、2有影响,在浏览器的进程管理中会起来一个独立的浏览器进程来专门进行视频插件元素的播 放和渲染,例如专门起来一个Flash插件元素进程加载上述的视频插件元素1、2、3。在这种情形下,通过对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。即独立进程记载有为网页进程1绘制了视频插件元素1,为网页进程2绘制了视频插件元素2、3的映射表;这样对于不同网页进程中的视频插件元素独立进程是知悉的,并依据这种视频插件元素的类型进行判断采用进程内声音控制方式还是进程外声音控制方式。
例如,多个网页中都加载有Flash音视频插件,则启动一个独立的Flash进程,由其对于加载的Flash音视频插件进行解析和播放,当然也包括声音的控制操作,其技术细节同于进程内声音控制方式。
步骤S140,依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
在本发明的一个实施例中,步骤S140的具体实现可以是:
使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。
下面对步骤S140的上述具体实现进行具体说明。
(一)进程内声音控制方式
当确定出某个进程中的网页采用进程内声音控制方式时,依据操作系统确定出发音函数,通过Hook钩子技术,挂钩这些发音函数实现对进程内的播放声音的控制。
例如windows操作系统下,发音函数是由windows操作系统提供的4个 函数组成:winmm.dll中的waveOutWrite函数和midiStreamOut函数,dsound.dll中的Unlock函数,和audioses.dll中的ReleaseBuffer函数。当然不同的网站采用的发音函数是不同的,在此仅是示例。对于上述4个函数中的至少一个进行挂钩处理,依据不同网站采用的发音函数的不同这4个函数可以进行组合,较佳的情形是在浏览器侧对于上述的4个函数分别都予以挂钩处理。通过Hook钩子技术,挂钩以上4个发音函数实现对进程内播放声音的控制,就可以进行进程内的静音操作,或者取消静音的操作(即开启声音的操作)。在上述的4个函数进行静音操作时都会查询不同进程间进行共享的声音控制开关参数,依据这个声音控制开关参数确定对于挂钩拦截到的各个发音函数进行关闭输出、停止声音数据写出或者对应的开启输出或者开启声音数据写出操作,从而达到进程内的静音操作或者取消静音的操作。
(二)进程外声音控制方式
以QQzone网站采用的QzoneMusic.exe和1ting音乐网采用mfpmp.exe为示例进行说明。
QzoneMusic.exe通过Hook挂钩CoCreateInstance函数,获取Qzone空间的IMusicPlayer对象,然后把IMusicPlayer对象保存到TLS(Thread Local Storage,线程本地存储)里面。同时创建一个线程Timer,由Timer线程从TLS中取出保存的IMusicPlayer对象指针,根据声音开关调用IDispatch的PutPropertyByName设置IMusicPlayer对象的Mute属性,Mute=1为静音Mute=0为有声音。
Mfpmp.exe通过Hook挂钩CoGetClassObject函数,然后接管类厂创建函数,获取IWMPSettings对象,然后把IWMPSettings对象保存到线程本地存储TLS里面。同时创建一个线程Timer,由Timer线程从TLS中取出保存的IWMPSetting对象指针,根据声音开关调用IDispatch的PutPropertyByName设置IMusicPlayer的Mute属性,Mute=1为静音Mute=0为有声音。
上述说明可以采用图3的步骤实现。图3示出了根据本发明一个实施例的实现进程外声音控制方式的流程图,包括步骤如下:
步骤S1401,通过Hook,获取IMusicPlayer对象或IWMPSettings对象。
步骤S1402,通过SaveTlsMusicData(pUnk)函数保存上述对象到TLS线程本地存储。
步骤S1403,通过SetTimer(NULL,0,150,MuteTimeProc)函数创建Timer线程。
步骤S1404,通过命令代码PMusicMute mute=(PMusicMute)TlsGetValue(g_dwTlsMusicData)获取TLS保存的上述对象的指针。
步骤S1405,当需要控制声音开关时,调用IDispatch的PutPropertyByName函数,通过disp.PutPropertyByName(OLESTR("Mute"),&iter->second.user_mute)函数设置Mute属性,其中Mute=1为静音,Mute=0为有声音,从而实现声音控制。
基于与上述方法同样的发明构思,图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。如图4所示,该浏览器中进行声音控制装置400包括:
参数设置单元410,适用于在浏览器中设置一在其不同进程间所共享的声音控制开关参数;
开关设置单元420,适用于对所述声音控制开关参数进行开启/关闭设置;
控制方式确定单元430,适用于依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;
开关操作单元440,适用于依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
可选地,在上述参数设置单元410中,所述声音控制开关参数设置可以在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
一种实施例,上述参数设置单元410具体适用于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
其中,所述浏览器的各个进程包括双核浏览器中的不同内核的浏览器网页进程。
一种实施例,上述开关设置单元420可以包括:
入口模块,适用于在浏览器中设置一对于浏览器声音进行控制的入口;
触发模块,适用于接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
一种实施例,上述控制方式确定单元430可以包括:
识别模块,适用于对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
进程内控制模块,适用于如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;
进程外控制模块,适用于如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。
其中,在所述进程内控制模块中,所述第一音视频插件元素包括在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
其中,在所述进程外控制模块中,所述第二音视频插件元素包括在其所在网页进程不进行音频播放的音视频插件元素,该不进行音频播放的音视频插件元素创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。
一种实施例,本发明提供的浏览器中进行声音控制装置400还可以包括:
独立播放进程,适用于若所述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放;
针对该情况,所述识别模块,具体适用于对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭 操作。
可选地,所述识别模块,具体适用于对包含有指定类型的播放元素的加载网页的URL进行识别。
一种实施例,上述开关操作单元440包括:
第一操作模块,适用于使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
第二操作模块,适用于使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
第三操作模块,适用于使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。
本发明一个实施例的浏览器中进行声音控制的装置的上述程序或模块,分别对应本发明一个实施例的一种浏览器中进行声音控制方法的步骤,在此不再赘述。
综上所述,本发明实施例的一种浏览器中进行声音控制的方法和装置,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,通过依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页是采用进程内声音控制方式和/或进程外声音控制方式,从而对进程中的网页的播放声音采取相应的声音控制方式进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定 编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当 理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种浏览器中进行声音控制的装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种浏览器中进行声音控制的方法,包括:
在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
对所述声音控制开关参数进行开启/关闭设置;
依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;
依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
A2、如A1所述的方法,其中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
A3、如A1所述的方法,其中,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括:
在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
A4、如A1所述的方法,其中,所述对所述声音控制开关参数进行开启/关闭设置包括:
在浏览器中设置一对于浏览器声音进行控制的入口;
接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
A5、如A1所述的方法,其中,所述依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式包括:
对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;
如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。
A6、如A5所述的方法,其中,所述第一音视频插件元素包括:在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
A7、如A5所述的方法,其中,所述第二音视频插件元素包括:在其所在网页进程不进行音频播放的音视频插件元素,其创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。
A8、如A5所述的方法,其中,若所述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放;
对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。
A9、如A5所述的方法,其中,所述对于浏览器的网页进程中所加载的 网页中的播放元素类型进行识别包括:对包含有指定类型的播放元素的加载网页的URL进行识别。
A10、如A1所述的方法,其中,所述依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作包括:
使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。
A11、如A1所述的方法,其中,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。
本发明实施例还公开了B12、一种浏览器中进行声音控制的装置,包括:
参数设置单元,适用于在浏览器中设置一在其不同进程间所共享的声音控制开关参数;
开关设置单元,适用于对所述声音控制开关参数进行开启/关闭设置;
控制方式确定单元,适用于依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;
开关操作单元,适用于依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
B13、如B12所述的装置,其中,在所述参数设置单元中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
B14、如B12所述的装置,其中,所述参数设置单元具体适用于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
B15、如B12所述的装置,其中,所述开关设置单元包括:
入口模块,适用于在浏览器中设置一对于浏览器声音进行控制的入口;
触发模块,适用于接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
B16、如B12所述的装置,其中,所述控制方式确定单元包括:
识别模块,适用于对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
进程内控制模块,适用于如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;
进程外控制模块,适用于如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。
B17、如B16所述的装置,其中,在所述进程内控制模块中,所述第一音视频插件元素包括:在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
B18、如B16所述的装置,其中,在所述进程外控制模块中,所述第二音视频插件元素包括:在其所在网页进程不进行音频播放的音视频插件元素,其创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。
B19、如B16所述的装置,其中,所述装置还包括:
独立播放进程,适用于若所述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放;
所述识别模块,具体适用于对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所 述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。
B20、如B16所述的装置,其中,所述识别模块,具体适用于对包含有指定类型的播放元素的加载网页的URL进行识别。
B21、如B12所述的装置,其中,所述开关操作单元包括:
第一操作模块,适用于使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
第二操作模块,适用于使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
第三操作模块,适用于使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。
B22、如B12所述的装置,其中,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。

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

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

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

2、控制开关参数进行开启/关闭设置;依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。本发明给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作。51INTCL权利要求书2页说明书11页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书11页附图3页10申请公布号CN104133849ACN10。

3、4133849A1/2页21一种浏览器中进行声音控制的方法,包括在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;对所述声音控制开关参数进行开启/关闭设置;依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。2如权利要求1所述的方法,其特征在于,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。3如。

4、权利要求1所述的方法,其特征在于,所述对所述声音控制开关参数进行开启/关闭设置包括在浏览器中设置一对于浏览器声音进行控制的入口;接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。4如权利要求1所述的方法,其特征在于,所述依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式包括对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;如果网页中的播放元素为第二音视频插件元素,确定该网页。

5、进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。5如权利要求1所述的方法,其特征在于,所述依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作包括使用进程内声音控制方式时,挂钩操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或使用进程外声音控制方式时,挂钩COCREATEINSTANCE函数,获取IMUSICPLAYER对象,通过设置IMUSICPLAYER对象的MUTE属性来进行进程外的播放声音开启/关闭操。

6、作;和/或使用进程外声音控制方式时,挂钩COGETCLASSOBJECT函数,获取IWMPSETTINGS对象,通过设置IWMPSETTINGS对象的MUTE属性来进行进程外的播放声音开启/关闭操作。6如权利要求1所述的方法,其特征在于,所述浏览器的各个进程包括双核浏览器中的不同内核的浏览器网页进程。7一种浏览器中进行声音控制的装置,包括参数设置单元,适用于在浏览器中设置一在其不同进程间所共享的声音控制开关参数;权利要求书CN104133849A2/2页3开关设置单元,适用于对所述声音控制开关参数进行开启/关闭设置;控制方式确定单元,适用于依据浏览器的各个进程中所开启网页中的播放元素的类型,确。

7、定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;开关操作单元,适用于依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。8如权利要求7所述的装置,其特征在于,所述参数设置单元具体适用于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。9如权利要求7所述的装置,其特征在于,所述控制方式确定单元包括识别模块,适用于对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;进程内控制模块,适用于如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制。

8、方式对第一音视频插件元素的声音进行控制;进程外控制模块,适用于如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。10如权利要求7所述的装置,其特征在于,所述开关操作单元包括第一操作模块,适用于使用进程内声音控制方式时,挂钩操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或第二操作模块,适用于使用进程外声音控制方式时,挂钩COCREATEINSTANCE函数,获取IMUSICPLAYER对象,通过设置IMU。

9、SICPLAYER对象的MUTE属性来进行进程外的播放声音开启/关闭操作;和/或第三操作模块,适用于使用进程外声音控制方式时,挂钩COGETCLASSOBJECT函数,获取IWMPSETTINGS对象,通过设置IWMPSETTINGS对象的MUTE属性来进行进程外的播放声音开启/关闭操作。权利要求书CN104133849A1/11页4一种浏览器中进行声音控制的方法和装置技术领域0001本发明属于互联网领域,涉及浏览器声音控制技术,具体涉及一种浏览器中进行声音控制的方法和装置。背景技术0002目前的浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页。

10、浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。在现在的浏览器中除了支持HTML规范中的标准网页元素之外,HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入视频、声音、流媒体等。0003为了提高浏览器的运行效率以及运行的安全性,目前浏览器开始采用浏览器程序的多进程架构设计,使用对于浏览器主进程负责框架的绘制以及渲染结果图片的加载显示;而将各个网页的具体的网页渲染都运行在网页进程中由内核进行动态的渲染处理得到网页渲染结果。0004因此在这种多进。

11、程架构下的浏览器加载网页中,有一些网页元素是声音数据,这些声音数据的播放加载在不同浏览器的进程中。针对多进程架构的浏览器,需要采用一种方法来同时控制浏览器各个进程的声音播放,而对于该问题,目前尚未提出有效的解决方案。发明内容0005鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种浏览器中进行声音控制的方法和相应的装置。0006依据本发明的一个方面,提供了一种浏览器中进行声音控制的方法,包括0007在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;0008对所述声音控制开关参数进行开启/关闭设置;0009依据浏览器的各个进程中所开启网页中的播放元素的类型。

12、,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;0010依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。0011根据本发明的另一方面,提供了一种浏览器中进行声音控制的装置,包括0012参数设置单元,适用于在浏览器中设置一在其不同进程间所共享的声音控制开关参数;0013开关设置单元,适用于对所述声音控制开关参数进行开启/关闭设置;0014控制方式确定单元,适用于依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;说明书CN104133849A2/11页。

13、50015开关操作单元,适用于依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。0016根据本发明的技术方案,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间声音控制开关的共享,通过依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页是采用进程内声音控制方式和/或进程外声音控制方式,从而对进程中的网页的播放声音采取相应的声音控制方式进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程。

14、中的播放声音进行开启/关闭操作,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。0017上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明0018通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中0019图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图;0。

15、020图2示出了根据本发明一个实施例的确定网页进程采用的声音控制方式的流程图;0021图3示出了根据本发明一个实施例的实现进程外声音控制方式的流程图;以及0022图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。具体实施方式0023下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。0024图1示出了根据本发明一个实施例的一种浏览器中进行声音控制方法的流程图。如图1所示,。

16、该方法包括0025步骤S110,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数。0026在本发明的一个实施例中,浏览器的各个进程包括浏览器框架进程和网页进程。该声音控制开关参数可以设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。0027在本发明的一个实施例中,可以在浏览器的DLLDYNAMICLINKLIBRARY,动态链接库的共享区间中设置该声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。0028在本发明的一个实施例中,浏览器的各个进程包括双核浏览器中的不同内核的浏说明书CN104133849A3/11页6览器网页。

17、进程。例如一个采用IE内核与CHROME内核的双核浏览器,一般网页用CHROME内核打开,网银等指定的网页用IE内核打开,IE内核与CHROME内核分属与不同的进程。这样一个浏览器的多个内核,满足同一用户的不同需求。相比单核浏览器,双核浏览器采用技术手段能够解决不同网站兼容性问题,并且在速度和兼容性方面也更具优势,能够给用户带来更多的选择和更好的用户体验。0029步骤S120,对所述声音控制开关参数进行开启/关闭设置。0030在本发明的一个实施例中,可以在浏览器中设置一对于浏览器声音进行控制的入口;接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。0031如下是采用。

18、DLL共享区间技术在不同进程间共享声音控制开关参数的一个具体实现方法0032通过在DLL中定义0033PRAGMADATA_SEG“MUTE_SECTION“0034BOOLG_BAUDIOBLOCKFALSE;0035PRAGMADATA_SEG0036PRAGMACOMMENTLINKER,“/SECTIONMUTE_SECTION,RWS“0037其中,G_BAUDIOBLOCK即为设置的声音控制开关参数。0038当点击用户界面USERINTERFACE,UI上的静音按钮,就会调用AUDIOMUTEDLL的导出函数SETAUDIOBLOCK,通过该导出函数SETAUDIOBLOCK来设置。

19、声音控制开关参数G_BAUDIOBLOCK的变量值,由于G_BAUDIOBLOCK变量存储在DLL共享区间里,从而实现不同进程间G_BAUDIOBLOCK变量值的共享。00390040步骤S130,依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式。0041在本发明的一个实施例中,上述步骤S130可以采用图2的步骤实现。图2示出了根据本发明一个实施例的确定网页进程采用的声音控制方式的流程图,包括0042步骤S1301,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别。0043在本发明中所述加载的网页中的播放元素类型。

20、进行识别,指的是对于浏览器当前加载显示的网页中的每一个网页元素进行遍历,例如通过遍历所加载网页的DOCUMENTOBJECTMODEL文档对象模型树节点,即遍历了不同的网页元素,对于所遍历后的不同类型网页元素其遍历的结果中可以知道一些常见的、或者预定类型的网页元素,例如FLASH插件元素、其为一个OBJECT网页标签,其中加载有FLASH插件元素。在本发明中除了上述的FLASH插件元素,其可以是其它的以OBJECT标签加载的其它音视频播放元素,例如快播QVOD插件、百度影音浏览器插件等,本领域的其它音视频播放元素也是在本发明的范围之说明书CN104133849A4/11页7内的。在本发明的另一。

21、个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对包含有指定类型的播放元素的加载网页的URLUNIFORMRESOURELOCATOR,统一资源定位器进行识别。比如优酷、爱奇艺等采用FLASH技术的视频网站,以及一些网页游戏网站,可以仅通过识别其URL来确定对其进程中的网页采用进程内声音控制方式。0044步骤S1302,如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制。0045其中,第一音视频插件元素包括在其所在网页进程进行音视频播放的FLASH播放插件元素、HTML5音视频播放元素中的一个。这里的。

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

23、如,在YOUTUBE上的FLV影片是通过一个SWFSHOCKWAVEFLASH播放器播放,而这个播放器是通过FLASHPLAYER插件来播放影片;YOUTUBE上的M4V影片直接利用HTML5的标签即可播放,而播放器是以JAVASCRIPT写成,一切都以浏览器内建功能完成。可以理解,HTML5利用标签和JAVASCRIPT来播放影片,不需任何外挂就能达成,相对于FLASHPLAYER插件稳定许多。0048步骤S1302,如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。0049其中,第二音视频插件元素包括在其所在网页进程不进行音。

24、频播放的音视频插件元素,其创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。0050采用进程外发音的网址示例QQZONE网站,QQ空间采用插件进程外QZONEMUSICEXE独立来发音;1TING音乐网,利用WINDOWMEDIAPLAYER插件发音,创建外部COM进程MFPMPEXE来发音。这两个网站通过在网页进程中加载不进行音频播放的音视频插件元素,并通过在网页进程中创建一个外部的COM进程例如QZONEMUSICEXE、MFPMPEXE等,与所加载的不进行音频播放的音视频插件进行交互以传递声音数据,由COM进程在所述网页进程外进行。

25、声音数据的播放。0051在本发明的一个实施例中,若上述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放。例如在网页进程1中加载播放视频插件元素1、在网页进程2中加载播放视频插件元素2与视频插件元素3,这时为了防止视频播放插件元素的运行异常对于网说明书CN104133849A5/11页8页进程1、2有影响,在浏览器的进程管理中会起来一个独立的浏览器进程来专门进行视频插件元素的播放和渲染,例如专门起来一个FLASH插件元素进程加载上述的视频插件元素1、2、3。在这种情形下,通过对该独立的播放元素进程中的播放元素类型。

26、进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。即独立进程记载有为网页进程1绘制了视频插件元素1,为网页进程2绘制了视频插件元素2、3的映射表;这样对于不同网页进程中的视频插件元素独立进程是知悉的,并依据这种视频插件元素的类型进行判断采用进程内声音控制方式还是进程外声音控制方式。0052例如,多个网页中都加载有FLASH音视频插件,则启动一个独立的FLASH进程,由其对于加载的FLASH音视频插件进行解析和播放,当然也包括声音的控制操作,其技术细节同于进程内声音控制方式。0053步骤S140,依据确定出的进程内声音。

27、控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。0054在本发明的一个实施例中,步骤S140的具体实现可以是0055使用进程内声音控制方式时,挂钩操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或0056使用进程外声音控制方式时,挂钩COCREATEINSTANCE函数,获取IMUSICPLAYER对象,通过设置IMUSICPLAYER对象的MUTE属性来进行进程外的播放声音开启/关闭操作;和/或0057使用进程外声音控制方式时,挂钩COG。

28、ETCLASSOBJECT函数,获取IWMPSETTINGS对象,通过设置IWMPSETTINGS对象的MUTE属性来进行进程外的播放声音开启/关闭操作。0058下面对步骤S140的上述具体实现进行具体说明。0059一进程内声音控制方式0060当确定出某个进程中的网页采用进程内声音控制方式时,依据操作系统确定出发音函数,通过HOOK钩子技术,挂钩这些发音函数实现对进程内的播放声音的控制。0061例如WINDOWS操作系统下,发音函数是由WINDOWS操作系统提供的4个函数组成WINMMDLL中的WAVEOUTWRITE函数和MIDISTREAMOUT函数,DSOUNDDLL中的UNLOCK函数。

29、,和AUDIOSESDLL中的RELEASEBUFFER函数。当然不同的网站采用的发音函数是不同的,在此仅是示例。对于上述4个函数中的至少一个进行挂钩处理,依据不同网站采用的发音函数的不同这4个函数可以进行组合,较佳的情形是在浏览器侧对于上述的4个函数分别都予以挂钩处理。通过HOOK钩子技术,挂钩以上4个发音函数实现对进程内播放声音的控制,就可以进行进程内的静音操作,或者取消静音的操作即开启声音的操作。在上述的4个函数进行静音操作时都会查询不同进程间进行共享的声音控制开关参数,依据这个声音控制开关参数确定对于挂钩拦截到的各个发音函数进行关闭输出、停止声音数据写出或者对应的开启输出或者开启声音数。

30、据写出操作,从而达到进程内的静音操作或者取消静音的操作。0062二进程外声音控制方式0063以QQZONE网站采用的QZONEMUSICEXE和1TING音乐网采用MFPMPEXE为示例进说明书CN104133849A6/11页9行说明。0064QZONEMUSICEXE通过HOOK挂钩COCREATEINSTANCE函数,获取QZONE空间的IMUSICPLAYER对象,然后把IMUSICPLAYER对象保存到TLSTHREADLOCALSTORAGE,线程本地存储里面。同时创建一个线程TIMER,由TIMER线程从TLS中取出保存的IMUSICPLAYER对象指针,根据声音开关调用IDIS。

31、PATCH的PUTPROPERTYBYNAME设置IMUSICPLAYER对象的MUTE属性,MUTE1为静音MUTE0为有声音。0065MFPMPEXE通过HOOK挂钩COGETCLASSOBJECT函数,然后接管类厂创建函数,获取IWMPSETTINGS对象,然后把IWMPSETTINGS对象保存到线程本地存储TLS里面。同时创建一个线程TIMER,由TIMER线程从TLS中取出保存的IWMPSETTING对象指针,根据声音开关调用IDISPATCH的PUTPROPERTYBYNAME设置IMUSICPLAYER的MUTE属性,MUTE1为静音MUTE0为有声音。0066上述说明可以采用图。

32、3的步骤实现。图3示出了根据本发明一个实施例的实现进程外声音控制方式的流程图,包括步骤如下0067步骤S1401,通过HOOK,获取IMUSICPLAYER对象或IWMPSETTINGS对象。0068步骤S1402,通过SAVETLSMUSICDATAPUNK函数保存上述对象到TLS线程本地存储。0069步骤S1403,通过SETTIMERNULL,0,150,MUTETIMEPROC函数创建TIMER线程。0070步骤S1404,通过命令代码PMUSICMUTEMUTEPMUSICMUTETLSGETVALUEG_DWTLSMUSICDATA获取TLS保存的上述对象的指针。0071步骤S14。

33、05,当需要控制声音开关时,调用IDISPATCH的PUTPROPERTYBYNAME函数,通过DISPPUTPROPERTYBYNAMEOLESTR“MUTE“,ITERSECONDUSER_MUTE函数设置MUTE属性,其中MUTE1为静音,MUTE0为有声音,从而实现声音控制。0072基于与上述方法同样的发明构思,图4示出了根据本发明一个实施例的一种浏览器中进行声音控制装置的结构图。如图4所示,该浏览器中进行声音控制装置400包括0073参数设置单元410,适用于在浏览器中设置一在其不同进程间所共享的声音控制开关参数;0074开关设置单元420,适用于对所述声音控制开关参数进行开启/关闭。

34、设置;0075控制方式确定单元430,适用于依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;0076开关操作单元440,适用于依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。0077可选地,在上述参数设置单元410中,所述声音控制开关参数设置可以在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。0078一种实施例,上述参数设置单元410具体适用于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设。

35、置的声音控制开关参数。0079其中,所述浏览器的各个进程包括双核浏览器中的不同内核的浏览器网页进程。0080一种实施例,上述开关设置单元420可以包括说明书CN104133849A7/11页100081入口模块,适用于在浏览器中设置一对于浏览器声音进行控制的入口;0082触发模块,适用于接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。0083一种实施例,上述控制方式确定单元430可以包括0084识别模块,适用于对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;0085进程内控制模块,适用于如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程。

36、内声音控制方式对第一音视频插件元素的声音进行控制;0086进程外控制模块,适用于如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。0087其中,在所述进程内控制模块中,所述第一音视频插件元素包括在其所在网页进程进行音视频播放的FLASH播放插件元素、HTML5音视频播放元素中的一个。0088其中,在所述进程外控制模块中,所述第二音视频插件元素包括在其所在网页进程不进行音频播放的音视频插件元素,该不进行音频播放的音视频插件元素创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。

37、。0089一种实施例,本发明提供的浏览器中进行声音控制装置400还可以包括0090独立播放进程,适用于若所述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放;0091针对该情况,所述识别模块,具体适用于对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。0092可选地,所述识别模块,具体适用于对包含有指定类型的播放元素的加载网页的URL进行识别。0093一种实施例,上述开关操作单元440包括0094。

38、第一操作模块,适用于使用进程内声音控制方式时,挂钩操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或0095第二操作模块,适用于使用进程外声音控制方式时,挂钩COCREATEINSTANCE函数,获取IMUSICPLAYER对象,通过设置IMUSICPLAYER对象的MUTE属性来进行进程外的播放声音开启/关闭操作;和/或0096第三操作模块,适用于使用进程外声音控制方式时,挂钩COGETCLASSOBJECT函数,获取IWMPSETTINGS对象,通过设置IWMPSE。

39、TTINGS对象的MUTE属性来进行进程外的播放声音开启/关闭操作。0097本发明一个实施例的浏览器中进行声音控制的装置的上述程序或模块,分别对应本发明一个实施例的一种浏览器中进行声音控制方法的步骤,在此不再赘述。0098综上所述,本发明实施例的一种浏览器中进行声音控制的方法和装置,通过在浏览器中设置一在其不同进程间进行共享的声音控制开关参数,可以实现不同浏览器进程间说明书CN104133849A108/11页11声音控制开关的共享,通过依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页是采用进程内声音控制方式和/或进程外声音控制方式,从而对进程中的网页的播放声音采取相。

40、应的声音控制方式进行开启/关闭操作,由此给出了一种对多进程架构浏览器进行声音控制的解决方案,实现了浏览器多个进程的播放声音同时控制,可随时对浏览器框架进程或者浏览器网页进程中的播放声音进行开启/关闭操作,取得了满足用户对声音的个性化需求和更好的用户体验的有益效果。0099需要说明的是0100在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明。

41、的最佳实施方式。0101在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。0102类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。。

42、因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。0103本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书包括伴随的权利要求、摘要和附图中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书包括伴随的权利要求、摘要和附图中公。

43、开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。0104此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。0105本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器DSP来实现根据本发明实施例的一种浏览器中进行声音控制的装置设备中的一些或者全部部件。

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

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

46、程外声音控制方式;0111依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。0112A2、如A1所述的方法,其中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。0113A3、如A1所述的方法,其中,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括0114在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。0115A4、如A1所述的方法,其中,所述对所述声音控制开关参数进行开启/关闭设置包括0116在浏览器中设置。

47、一对于浏览器声音进行控制的入口;0117接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。0118A5、如A1所述的方法,其中,所述依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式包括0119对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;0120如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;0121如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。。

48、0122A6、如A5所述的方法,其中,所述第一音视频插件元素包括在其所在网页进程进行音视频播放的FLASH播放插件元素、HTML5音视频播放元素中的一个。说明书CN104133849A1210/11页130123A7、如A5所述的方法,其中,所述第二音视频插件元素包括在其所在网页进程不进行音频播放的音视频插件元素,其创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。0124A8、如A5所述的方法,其中,若所述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播。

49、放;0125对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。0126A9、如A5所述的方法,其中,所述对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别包括对包含有指定类型的播放元素的加载网页的URL进行识别。0127A10、如A1所述的方法,其中,所述依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作包括0128使用进程内声音控制方式时,挂钩操作系统中的WAVEOUTWRITE函数、MIDISTREAMOUT函数、UNLOCK函数、RELEASEBUFFER函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或0129使用进程外声音控制方式时,挂钩COCREATEINSTANCE函数,获取IMUSICPLAYER对象,通过设置IMUSICPLAYER对象的MUTE属性来进行进程外的播放声音开启/关闭操作;和/或0130使用进程外声音控制方式时,挂钩COGETCLASSOBJECT函数,获取IWMPSETTINGS对象,通过设置IWMPSETTINGS对象的MUTE属性来进行进程外的播放声音开启/关闭操作。0131A11、如A1所述的方法,其中,所述浏览器的各个进程包括双核浏览器中的不同。

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

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


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