CN104133849B - 一种浏览器中进行声音控制的方法和装置 - Google Patents

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

Info

Publication number
CN104133849B
CN104133849B CN201410311239.0A CN201410311239A CN104133849B CN 104133849 B CN104133849 B CN 104133849B CN 201410311239 A CN201410311239 A CN 201410311239A CN 104133849 B CN104133849 B CN 104133849B
Authority
CN
China
Prior art keywords
sound control
sound
browser
webpage
broadcasting
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
CN201410311239.0A
Other languages
English (en)
Other versions
CN104133849A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410311239.0A priority Critical patent/CN104133849B/zh
Publication of CN104133849A publication Critical patent/CN104133849A/zh
Application granted granted Critical
Publication of CN104133849B publication Critical patent/CN104133849B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

一种浏览器中进行声音控制的方法和装置
技术领域
本发明属于互联网领域,涉及浏览器声音控制技术,具体涉及一种浏览器中进行声音控制的方法和装置。
背景技术
目前的浏览器是指可以显示网页服务器或者文件系统的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,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别。
在本发明中所述加载的网页中的播放元素类型进行识别,指的是对于浏览器当前加载显示的网页中的每一个网页元素进行遍历,例如通过遍历所加载网页的DocumentObject Model(文档对象模型)树节点,即遍历了不同的网页元素,对于所遍历后的不同类型网页元素其遍历的结果中可以知道一些常见的、或者预定类型的网页元素,例如Flash插件元素、其为一个object网页标签,其中加载有Flash插件元素。在本发明中除了上述的Flash插件元素,其可以是其它的以object标签加载的其它音视频播放元素,例如快播qvod插件、百度影音浏览器插件等,本领域的其它音视频播放元素也是在本发明的范围之内的。在本发明的另一个实施例中,对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别可以通过对包含有指定类型的播放元素的加载网页的URL(Uniform ResoureLocator,统一资源定位器)进行识别。比如:优酷、爱奇艺等采用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"controlswidth="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所述的装置,其中,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。

Claims (22)

1.一种浏览器中进行声音控制的方法,包括:
在浏览器中设置一在其不同进程间进行共享的声音控制开关参数;
对所述声音控制开关参数进行开启/关闭设置;
依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;
依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
2.如权利要求1所述的方法,其特征在于,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
3.如权利要求1所述的方法,其特征在于,在浏览器中设置一在其不同进程间进行共享的声音控制开关参数包括:
在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
4.如权利要求1所述的方法,其特征在于,所述对所述声音控制开关参数进行开启/关闭设置包括:
在浏览器中设置一对于浏览器声音进行控制的入口;
接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
5.如权利要求1所述的方法,其特征在于,所述依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式包括:
对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;
如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。
6.如权利要求5所述的方法,其特征在于,所述第一音视频插件元素包括:在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
7.如权利要求5所述的方法,其特征在于,所述第二音视频插件元素包括:在其所在网页进程不进行音频播放的音视频插件元素,其创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。
8.如权利要求5所述的方法,其特征在于,
若所述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放;
对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。
9.如权利要求5所述的方法,其特征在于,所述对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别包括:
对包含有指定类型的播放元素的加载网页的URL进行识别。
10.如权利要求1所述的方法,其特征在于,所述依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作包括:
使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。
11.如权利要求1所述的方法,其特征在于,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。
12.一种浏览器中进行声音控制的装置,包括:
参数设置单元,适用于在浏览器中设置一在其不同进程间所共享的声音控制开关参数;
开关设置单元,适用于对所述声音控制开关参数进行开启/关闭设置;
控制方式确定单元,适用于依据浏览器的各个进程中所开启网页中的播放元素的类型,确定出各个进程中的网页采用进程内声音控制方式和/或进程外声音控制方式;
开关操作单元,适用于依据确定出的进程内声音控制方式和/或进程外声音控制方式,对进程中的网页的播放声音进行开启/关闭操作。
13.如权利要求12所述的装置,其特征在于,在所述参数设置单元中,所述声音控制开关参数设置在浏览器框架进程或者浏览器网页进程中,并在浏览器框架进程或者浏览器网页进程间进行共享。
14.如权利要求12所述的装置,其特征在于,所述参数设置单元具体适用于在浏览器的动态链接库的共享区间中设置一声音控制开关参数,以使得浏览器的各个不同进程共享该设置的声音控制开关参数。
15.如权利要求12所述的装置,其特征在于,所述开关设置单元包括:
入口模块,适用于在浏览器中设置一对于浏览器声音进行控制的入口;
触发模块,适用于接收对于该控制用入口的触发,从而实现对所述声音控制开关参数进行开启/关闭设置。
16.如权利要求12所述的装置,其特征在于,所述控制方式确定单元包括:
识别模块,适用于对于浏览器的网页进程中所加载的网页中的播放元素类型进行识别;
进程内控制模块,适用于如果网页中的播放元素为第一音视频插件元素,确定该网页进程中使用进程内声音控制方式对第一音视频插件元素的声音进行控制;
进程外控制模块,适用于如果网页中的播放元素为第二音视频插件元素,确定该网页进程中使用进程外声音控制方式对第二音视频插件元素的声音进行控制。
17.如权利要求16所述的装置,其特征在于,在所述进程内控制模块中,所述第一音视频插件元素包括:在其所在网页进程进行音视频播放的Flash播放插件元素、HTML5音视频播放元素中的一个。
18.如权利要求16所述的装置,其特征在于,在所述进程外控制模块中,所述第二音视频插件元素包括:在其所在网页进程不进行音频播放的音视频插件元素,其创建有一个所述网页进程外部的COM进程、由所述COM进程在所述网页进程外进行声音数据的播放的浏览器插件元素。
19.如权利要求16所述的装置,其特征在于,所述装置还包括:
独立播放进程,适用于若所述播放元素分别加载在不同的浏览器网页进程中,则在浏览器中启动一个独立的播放元素进程,该播放元素进程为所述各个浏览器网页进程进行声音播放;
所述识别模块,具体适用于对该独立的播放元素进程中的播放元素类型进行识别,以确定出采用进程内声音控制方式和/或进程外声音控制方式对所述不同的浏览器网页进程中的网页的播放声音进行开启/关闭操作。
20.如权利要求16所述的装置,其特征在于,所述识别模块,具体适用于对包含有指定类型的播放元素的加载网页的URL进行识别。
21.如权利要求14所述的装置,其特征在于,所述开关操作单元包括:
第一操作模块,适用于使用进程内声音控制方式时,挂钩操作系统中的WaveOutWrite函数、MidiStreamOut函数、Unlock函数、ReleaseBuffer函数中的至少一个进行进程内的播放声音开启/关闭操作;和/或
第二操作模块,适用于使用进程外声音控制方式时,挂钩CoCreateInstance函数,获取IMusicPlayer对象,通过设置IMusicPlayer对象的Mute属性来进行进程外的播放声音开启/关闭操作;和/或
第三操作模块,适用于使用进程外声音控制方式时,挂钩CoGetClassObject函数,获取IWMPSettings对象,通过设置IWMPSettings对象的Mute属性来进行进程外的播放声音开启/关闭操作。
22.如权利要求12所述的装置,其特征在于,所述浏览器的各个进程包括:双核浏览器中的不同内核的浏览器网页进程。
CN201410311239.0A 2014-07-01 2014-07-01 一种浏览器中进行声音控制的方法和装置 Active CN104133849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410311239.0A CN104133849B (zh) 2014-07-01 2014-07-01 一种浏览器中进行声音控制的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410311239.0A CN104133849B (zh) 2014-07-01 2014-07-01 一种浏览器中进行声音控制的方法和装置

Publications (2)

Publication Number Publication Date
CN104133849A CN104133849A (zh) 2014-11-05
CN104133849B true CN104133849B (zh) 2018-02-02

Family

ID=51806527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410311239.0A Active CN104133849B (zh) 2014-07-01 2014-07-01 一种浏览器中进行声音控制的方法和装置

Country Status (1)

Country Link
CN (1) CN104133849B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681841B (zh) * 2015-12-30 2018-05-29 广东欧珀移动通信有限公司 一种基于浏览器的视频播放控制方法及系统
CN106201737A (zh) * 2016-06-27 2016-12-07 乐视控股(北京)有限公司 页面展示的方法及装置
CN108804070B (zh) * 2018-05-30 2021-01-26 Oppo广东移动通信有限公司 音乐播放方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789001A (zh) * 2009-04-30 2010-07-28 北京搜狗科技发展有限公司 一种对浏览器中的声音进行控制的方法及系统
WO2012166319A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Audio configuration based on selectable audio modes
CN102915317A (zh) * 2012-03-08 2013-02-06 北京金山安全软件有限公司 声音控制方法与装置
CN103530100A (zh) * 2012-07-05 2014-01-22 腾讯科技(深圳)有限公司 一种wmp组件静音的方法、装置及播放器
CN103809950A (zh) * 2012-11-12 2014-05-21 腾讯科技(深圳)有限公司 Flash播放器插件静音方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850317B2 (en) * 2007-10-17 2014-09-30 Apple Inc. Web browser audio controls

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789001A (zh) * 2009-04-30 2010-07-28 北京搜狗科技发展有限公司 一种对浏览器中的声音进行控制的方法及系统
WO2012166319A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Audio configuration based on selectable audio modes
CN102915317A (zh) * 2012-03-08 2013-02-06 北京金山安全软件有限公司 声音控制方法与装置
CN103530100A (zh) * 2012-07-05 2014-01-22 腾讯科技(深圳)有限公司 一种wmp组件静音的方法、装置及播放器
CN103809950A (zh) * 2012-11-12 2014-05-21 腾讯科技(深圳)有限公司 Flash播放器插件静音方法及装置

Also Published As

Publication number Publication date
CN104133849A (zh) 2014-11-05

Similar Documents

Publication Publication Date Title
CN106506525B (zh) 用于在浏览器上播放视频流的方法及装置
CN105208442B (zh) 一种视频播放应用程序的视频播放方法及装置
Osmani Developing Backbone. js Applications: Building Better JavaScript Applications
CN105593805B (zh) 基于移动装置定向定制移动媒体片尾用户界面
CN106105230A (zh) 显示内容和相关社交媒体数据的系统及方法
CN102982181B (zh) 一种在浏览器侧展现网页数据的方法及装置
CN104135692B (zh) 视频信息的加载显示方法和加载显示装置
CN103377039B (zh) 一种网页游戏开发、解析方法、一种编辑器以及解析装置
CN103955475B (zh) 一种网页标签信息的显示方法、装置和浏览器
Hales HTML5 and JavaScript Web Apps: Bridging the gap between the web and the mobile web
BR112017008008B1 (pt) Método para a geração de vídeo e dispositivo de processamento de vídeo
CN104133849B (zh) 一种浏览器中进行声音控制的方法和装置
CN103544008A (zh) 浏览器中播放音频的方法和装置
US20150363505A1 (en) Reception device, information processing method in reception device, transmission device, information processing device, and information processing method
CN107092417A (zh) 网络直播方法及装置
US20180132012A1 (en) Method and apparatus for playing video in application program
CN103678639A (zh) 浏览器中进行信息更新提醒的方法及设备
US9626197B1 (en) User interface rendering performance
CN104199865B (zh) 提供内容提供方的定制结果的搜索方法、客户端和系统
CN104133847B (zh) 一种浏览器中进行声音控制的方法和装置
CN103646054B (zh) 播放多媒体数据的方法和浏览器装置
CN108460818A (zh) 一种数据导出及动画播放的方法及装置
CN105760420B (zh) 实现与多媒体文件内容互动的方法及装置
CN106233284A (zh) 针对信息资源内可能包括主要内容的节点生成稳定标识符的方法和系统
US9063806B2 (en) Flex integration with a secure application

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.