CN105512146A - 控制网页页面声音的方法及装置 - Google Patents
控制网页页面声音的方法及装置 Download PDFInfo
- Publication number
- CN105512146A CN105512146A CN201410528652.2A CN201410528652A CN105512146A CN 105512146 A CN105512146 A CN 105512146A CN 201410528652 A CN201410528652 A CN 201410528652A CN 105512146 A CN105512146 A CN 105512146A
- Authority
- CN
- China
- Prior art keywords
- address
- function
- webpage
- audio frequency
- page sound
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种控制网页页面声音的方法及装置,属于计算机领域。所述方法包括:当打开网页页面且监听到创建对象函数被调用时,根据创建对象函数的地址,监听为网页页面分配缓冲区的过程,得到网页页面对应的缓冲区地址,缓冲区用于存储网页页面包括的声音数据;当监听到释放内存函数被调用时,根据缓冲区地址,获取释放内存函数包括的标识参数,释放内存函数用于根据缓冲区内存储的声音数据进行页面声音的播放,标识参数用于判断网页页面中是否存在页面声音;基于标识参数,判断网页页面中是否存在页面声音;当网页页面中存在页面声音时,对该页面声音进行控制。本发明实现了对IE内核浏览器打开的网页页面声音的控制。
Description
技术领域
本发明涉及计算机领域,特别涉及一种控制网页页面声音的方法及装置。
背景技术
随着计算机技术的快速发展,出现了各种各样的浏览器。这些浏览器不仅可以用于浏览网页页面,还可以用于播放网页上视频、音乐等。当浏览网页页面时,有的网页页面会突然播放一些嘈杂的声音,这些声音称之为页面声音。为了避免页面声音对用户的干扰,需要在打开网页时检测页面声音,并对检测出的页面声音进行控制。而目前,对于IE内核的浏览器,由于播放页面声音的flash没有向该浏览器提供回调函数,所以,终端就无法通过该回调函数检测该浏览器中的页面声音,进而无法对该页面声音进行控制。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种控制网页页面声音的方法及装置。所述技术方案如下:
一方面,提供了一种控制网页页面声音的方法,所述方法包括:
当打开网页页面且监听到创建对象函数被调用时,根据所述创建对象函数的地址,监听为所述网页页面分配缓冲区的过程,得到所述网页页面对应的缓冲区地址,所述缓冲区用于存储所述网页页面包括的声音数据;
当监听到释放内存函数被调用时,根据所述缓冲区地址,获取所述释放内存函数包括的标识参数,所述释放内存函数用于根据所述缓冲区内存储的声音数据进行页面声音的播放,所述标识参数用于判断所述网页页面中是否存在页面声音;
基于所述标识参数,判断所述网页页面中是否存在页面声音;
当所述网页页面中存在页面声音时,对所述页面声音进行控制。
另一方面,提供了一种控制网页页面声音的装置,所述装置包括:
监听模块,用于当打开网页页面且监听到创建对象函数被调用时,根据所述创建对象函数的地址,监听为所述网页页面分配缓冲区的过程,得到所述网页页面对应的缓冲区地址,所述缓冲区用于存储所述网页页面包括的声音数据;
获取模块,用于当监听到释放内存函数被调用时,根据所述缓冲区地址,获取所述释放内存函数包括的标识参数,所述释放内存函数用于根据所述缓冲区内存储的声音数据进行页面声音的播放,所述标识参数用于判断所述网页页面中是否存在页面声音;
判断模块,用于基于所述标识参数,判断所述网页页面中是否存在页面声音;
控制模块,用于当所述网页页面中存在页面声音时,对所述页面声音进行控制。
在本发明实施例中,根据创建对象函数的地址,监听为网页页面分配缓冲区的过程,从而获取到该网页页面对应的缓冲区地址。当监听到释放内存函数被调用时,根据该缓冲区地址,获取释放内存函数包括的标识参数,基于该标识参数判断出该网页页面中存在页面声音时,对该网页页面中的页面声音进行控制,实现了对IE内核浏览器中打开的网页页面中的页面声音进行控制,避免了该页面声音对用户造成的干扰。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种控制网页页面声音的方法流程图;
图2是本发明实施例提供的一种控制网页页面声音的方法流程图;
图3是本发明实施例提供的一种控制网页页面声音的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对IE内核的浏览器播放页面声音的过程进行简单描述:
在Windows操作系统的不断演化过程中,微软设计出了好几套不同的发声API(ApplicationProgrammingInterface,应用程序编程接口),比如,MediaFoundation、WindowsMultimedia、DirectMusic、DirectSound等,为了保证向前兼容性,目前这些API都可以正常使用。另外,由于浏览器是一个开放的平台,可以加载各种各样的第三方应用程序,但是,我们无法猜测到这些第三方应用程序到底使用哪一种API进行发声操作,从而,使页面声音的检测和控制也就变的不准确。而在Vista和Vista以上的操作系统中,微软又开发了一套全新的发声API,即CoreAudioAPIs,并把CoreAudioAPIs作为其它发声API的基础。也就是说,在Vista及Vista以上的操作系统中,其它的发声API内部都是使用CoreAudioAPIs实现自己的功能的。而CoreAudioAPIs可以包括GetDefaultAudioEndpoint函数、Activate函数、GetService函数、GetBuffer函数和ReleaseBuffer函数,当打开网页页面且使用CoreAudioAPIs的过程为:调用操作系统包括的CoCreateInstance函数创建IMMDeviceEnumerator对象,根据IMMDeviceEnumerator对象中的GetDefaultAudioEndpoint函数,创建IMMDevice对象;根据IMMDevice对象中的Activate函数,创建IAudioClient对象;根据IAudioClient对象中的GetService函数,创建IAudioRenderClient对象;根据IAudioRenderClient对象中的GetBuffer函数,为该网页页面分配对应的缓冲区,之后,将该网页页面中的声音数据写入该缓冲区,当播放该网页页面声音时,再调用IAudioRenderClient对象中的ReleaseBuffer函数,基于缓冲区中存在的声音数据来播放该网页页面声音。
图1是本发明实施例提供的一种控制网页页面声音的方法流程图。参见图1,该方法包括:
步骤101:当打开网页页面且监听到创建对象函数被调用时,根据创建对象函数的地址,监听为该网页页面分配缓冲区的过程,得到该网页页面对应的缓冲区地址,该缓冲区用于存储该网页页面包括的声音数据。
步骤102:当监听到释放内存函数被调用时,根据该缓冲区地址,获取该释放内存函数包括的标识参数,释放内存函数用于根据该缓冲区内存储的声音数据进行页面声音的播放,该标识参数用于判断该网页页面中是否存在页面声音。
步骤103:基于该标识参数,判断该网页页面中是否存在页面声音。
步骤104:当该网页页面中存在页面声音时,对该页面声音进行控制。
在本发明实施例中,根据创建对象函数的地址,监听为网页页面分配缓冲区的过程,从而获取到该网页页面对应的缓冲区地址。当监听到释放内存函数被调用时,根据该缓冲区地址,获取释放内存函数包括的标识参数,基于该标识参数判断出该网页页面中存在页面声音时,对该网页页面中的页面声音进行控制,实现了对IE内核浏览器中打开的网页页面中的页面声音进行控制,避免了该页面声音对用户造成的干扰。
可选地,根据创建对象函数的地址,监听为该网页页面分配缓冲区的过程,得到该网页页面对应的缓冲区地址,包括:
根据创建对象函数的地址,监听创建对象函数创建音频服务对象的过程,得到音频服务对象的地址;
根据音频服务对象的地址,获取音频服务对象包括的分配内存函数的地址;
基于分配内存函数的地址,获取该网页页面对应的缓冲区地址。
可选地,根据创建对象函数的地址,监听创建对象函数创建音频服务对象的过程,得到音频服务对象的地址,包括:
根据创建对象函数的地址,监听创建对象函数创建音频设备列举对象的过程,得到音频设备列举对象的地址;
根据音频设备列举对象的地址,获取音频设备列举对象包括的指定音频设备获取函数的地址;
根据指定音频设备获取函数的地址,监听指定音频设备获取函数创建指定音频设备对象的过程,得到指定音频设备对象的地址;
根据指定音频设备对象的地址,获取指定音频设备对象包括的激活函数的地址;
根据激活函数的地址,监听激活函数创建提供音频管理服务对象的过程,得到提供音频管理服务对象的地址;
根据提供音频管理服务对象的地址,获取提供音频管理服务对象包括的提供服务函数的地址;
根据提供服务函数的地址,监听提供服务函数创建音频服务对象的过程,得到音频服务对象的地址。
可选地,根据该缓冲区地址,获取释放内存函数包括的标识参数,包括:
根据该缓冲区地址,获取释放内存函数所在的音频服务对象对应的函数表,该音频服务对象对应的函数表中存储音频服务对象包括的函数的地址;
根据释放内存函数的偏移量,从音频服务对象对应的函数表中获取释放内存函数的地址;
根据释放内存函数的地址,获取释放内存函数包括的标识参数。
可选地,基于该标识参数,判断该网页页面中是否存在页面声音,包括:
如果该标识参数中携带静音标志位,则确定该网页页面中不存在页面声音;
如果该标识参数中不携带静音标志位,则从缓冲区中读取声音数据;
如果读取的声音数据全为0,则确定该网页页面中不存在页面声音;
如果读取的声音数据不全为0,则确定该网页页面中存在页面声音。
可选地,对该页面声音进行控制,包括:
向释放内存函数包括的标识参数中添加静音标志位,该静音标志位用于对该网页页面中存在的页面声音进行静音。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图2是本发明实施例提供的一种控制网页页面声音的方法流程图。参见图2,该方法包括:
步骤201:当打开网页页面且监听到创建对象函数被调用时,根据该创建对象函数的地址,监听该创建对象函数创建音频服务对象的过程,得到音频服务对象的地址,该缓冲区用于存储该网页页面包括的声音数据。
其中,在本发明实施例中,控制网页页面声音的方法的执行主体可以为控制装置,该控制装置可以为终端或者服务器,本发明实施例对此不做具体限定。
另外,根据上述对IE内核的浏览器播放页面声音过程的描述,本发明实施例为了对页面声音进行控制,需要获取到该网页页面对应的缓冲区地址,而缓冲区的地址基于分配内存函数所在的音频服务对象的地址进行获取,所以,本发明实施例中可以对创建对象函数进行监听,当监听到创建对象函数被调用时,根据该创建对象函数的地址,监听该创建对象函数创建音频服务对象的过程,得到音频服务对象的地址。而本发明实施例根据该创建对象函数的地址,监听该创建对象函数创建音频服务对象的过程,得到音频服务对象的地址的操作具体可以包括如下(1)-(7)的步骤,包括:
(1)、根据创建对象函数的地址,监听创建对象函数创建音频设备列举对象的过程,得到该音频设备列举对象的地址。
具体地,获取对创建对象函数设置的第一挂钩函数,通过第一挂钩函数,根据创建对象函数的地址,监听创建对象函数创建音频设备列举对象的过程,得到该音频设备列举对象的地址。
其中,创建对象函数是操作系统包括的,所以,可以直接获取到该创建对象函数的地址。另外,该创建对象函数可以为CoCreateInstance函数,音频设备列举对象可以为IMMDeviceEnumerator对象,本发明实施例对此不做具体限定。
(2)、根据该音频设备列举对象的地址,获取音频设备列举对象包括的指定音频设备获取函数的地址。
具体地,根据该音频设备列举对象的地址,获取该音频设备列举对象对应的函数表,该音频设备列举对象对应的函数表中存储该音频设备列举对象包括的函数的地址。根据该音频设备列举对象包括的指定音频设备获取函数的偏移量,从该音频设备列举对象对应的函数表中获取该指定音频设备获取函数的地址。
比如,根据该音频设备列举对象的地址,获取该音频设备列举对象对应的函数表如下表1所示,假如,指定音频设备获取函数的偏移量为2,则根据该指定音频设备获取函数的偏移量2,从表1中获取第2个地址为地址12,将获取的地址12确定为该音频设备列举对象包括的指定音频设备获取函数的地址。
表1
函数表 |
地址11 |
地址12 |
地址13 |
(3)、根据指定音频设备获取函数的地址,监听指定音频设备获取函数创建指定音频设备对象的过程,得到指定音频设备对象的地址。
具体地,获取对指定音频设备获取函数设置的第二挂钩函数,通过第二挂钩函数,根据指定音频设备获取函数的地址,监听指定音频设备获取函数创建指定音频设备对象的过程,得到指定音频设备对象的地址。
其中,指定音频设备获取函数可以为GetDefaultAudioEndpoint函数,指定音频设备对象可以为IMMDevice对象,本发明实施例对此不做具体限定。
(4)、根据指定音频设备对象的地址,获取指定音频设备对象包括的激活函数的地址。
具体地,根据指定音频设备对象的地址,获取该指定音频设备对象对应的函数表,该指定音频设备对象对应的函数表中存储该指定音频设备对象包括的函数的地址。根据该指定音频设备对象包括的激活函数的偏移量,从该指定音频设备对象对应的函数表中获取该激活函数的地址。
比如,根据指定音频设备对象的地址,获取该指定音频设备对象对应的函数表如下表2所示,假如,激活函数的偏移量为1,则根据该激活函数的偏移量1,从表2中获取第1个地址为地址21,将获取的地址21确定为该指定音频设备对象包括的激活函数的地址。
表2
函数表 |
地址21 |
地址22 |
地址23 |
(5)、根据激活函数的地址,监听激活函数创建提供音频管理服务对象的过程,得到提供音频管理服务对象的地址。
具体地,获取对激活函数设置的第三挂钩函数,通过第三挂钩函数,根据激活函数的地址,监听激活函数创建提供音频管理服务对象的过程,得到提供音频管理服务对象的地址。
其中,激活函数可以为Activate函数,提供音频管理服务对象可以为IAudioClient对象,本发明实施例对此不做具体限定。
(6)、根据提供音频管理服务对象的地址,获取提供音频管理服务对象包括的提供服务函数的地址。
具体地,根据提供音频管理服务对象的地址,获取提供音频管理服务对象对应的函数表,该提供音频管理服务对象对应的函数表中存储该提供音频管理服务对象包括的函数的地址。根据该提供音频管理服务对象包括的提供服务函数的偏移量,从该提供音频管理服务对象对应的函数表中获取该提供服务函数的地址。
比如,根据提供音频管理服务对象的地址,获取该提供音频管理服务对象对应的函数表如下表3所示,假如,提供服务函数的偏移量为3,则根据该提供服务函数的偏移量3,从表3中获取第3个地址为地址33,将获取的地址33确定为该提供音频管理服务对象包括的提供服务函数的地址。
表3
函数表 |
地址31 |
地址32 |
地址33 |
地址34 |
(7)、根据提供服务函数的地址,监听提供服务函数创建音频服务对象的过程,得到音频服务对象的地址。
具体地,获取对提供服务函数设置的第四挂钩函数,通过第四挂钩函数,根据提供服务函数的地址,监听提供服务函数创建音频服务对象的过程,得到音频服务对象的地址。
其中,提供服务函数可以为GetService函数,音频服务对象可以为IAudioRenderClient对象,本发明实施例对此不做具体限定。
步骤202:根据音频服务对象的地址,获取音频服务对象包括的分配内存函数的地址。
具体地,根据音频服务对象的地址,获取该音频服务对象对应的函数表,该音频服务对象对应的函数表中存储音频服务对象包括的函数的地址。根据该音频服务对象包括的分配内存函数的偏移量,从该音频服务对象对应的函数表中获取该分配内存函数的地址。
比如,根据该音频服务对象的地址,获取该音频服务对象对应的函数表如下表4所示,假如,分配内存函数的偏移量为2,则根据该分配内存函数的偏移量2,从表4中获取第2个地址为地址42,将获取的地址42确定为该音频服务对象包括的分配内存函数的地址。
表4
函数表 |
地址41 |
地址42 |
地址43 |
其中,音频服务对象包括的分配内存函数可以为GetBuffer函数,本发明实施例对此不做具体限定。
步骤203:基于分配内存函数的地址,获取该网页页面对应的缓冲区地址。
具体地,获取对内存分配函数设置的第五挂钩函数,通过第五挂钩函数,基于分配内存函数的地址,监听该内存分配函数为该网页页面分配缓冲区的过程,得到该网页页面对应的缓冲区地址。
其中,缓冲区用于存储网页页面包括的声音数据,且每个网页页面对应一个缓冲区,该缓冲区的大小大于或等于该网页页面包括的声音数据的大小。
另外,当通过分配内存函数对该网页页面分配缓冲区之后,可以将该网页页面包括的声音数据写入该缓冲区中。之后,当基于该缓冲区内的声音数据播放页面声音时,需要调用音频服务对象包括的释放内存函数,播放页面声音,从而释放内存。
步骤204:当监听到释放内存函数被调用时,根据该缓冲区地址,获取释放内存函数包括的标识参数,该释放内存函数用于根据缓冲区内存储的声音数据进行页面声音的播放,该标识参数用于判断该网页页面中是否存在页面声音。
具体地,当监听到释放内存函数被调用时,根据该缓冲区地址,获取释放内存函数所在的音频服务对象对应的函数表,该函数表中存储音频服务对象包括的函数的地址;根据释放内存函数的偏移量,从该函数表中获取释放内存函数的地址;根据释放内存函数的地址,获取释放内存函数包括的标识参数。
比如,根据该音频服务对象的地址,获取该音频服务对象对应的函数表如上表4所示,假如,释放内存函数的偏移量为3,则根据该释放内存函数的偏移量3,从表4中获取第3个地址为地址43,将获取的地址43确定为该音频服务对象包括的释放内存函数的地址。之后,根据该释放内存函数的地址,获取该释放内存函数包括的标识参数。
其中,释放内存函数可以为ReleaseBuffer函数,该释放内存函数包括的标识参数可以为dwFlag参数,本发明实施例对此不做具体限定。
步骤205:基于该标识参数,判断该网页页面中是否存在页面声音。
具体地,如果该标识参数中携带静音标志位,则确定该网页页面中不存在页面声音。如果该标识参数中不携带静音标志位,则从该缓冲区中读取声音数据;如果读取的声音数据全为0,则确定该网页页面中不存在页面声音;如果读取的声音数据不全为0,则确定该网页页面中存在页面声音。
其中,该标识参数携带的静音标志位可以为AUDCLNT_BUFFERFLAGS_SILENT位,本发明实施例对此不做具体限定。
步骤206:当该网页页面中存在页面声音时,对该页面声音进行控制。
具体地,当该网页页面中存在页面声音时,向释放内存函数包括的标识参数中添加静音标志位,该静音标志位用于对该网页页面中存在的页面声音进行静音,从而实现对该页面声音进行控制。
需要说明的是,在本发明实施例中,挂钩函数(Hook)可以为事先设置的,即,第一挂钩函数、第二挂钩函数、第三挂钩函数、第四挂钩函数、第五挂钩函数和第六挂钩函数可以为事先设置的,并且设置每个挂钩函数与每个被挂钩函数之间的对应关系,当被挂钩函数被调用时,可以基于挂钩函数与被挂钩函数之间的对应关系,获取并调用该被挂钩函数对应的挂钩函数,进而对该被挂钩函数的操作进行监听。
可选地,在本发明实施例中,不仅可以对CoreAudioAPIs包括的函数进行监听,还可以对其他API包括的函数进行监听,比如,对MediaFoundation、WindowsMultimedia、DirectMusic、DirectSound等包括的函数进行监听,本发明实施例对此不做具体限定。
在本发明实施例中,根据创建对象函数的地址,监听为网页页面分配缓冲区的过程,从而获取到该网页页面对应的缓冲区地址。当监听到释放内存函数被调用时,根据该缓冲区地址,获取释放内存函数包括的标识参数,当该标识参数没有携带静音标志位且缓冲区中存储的声音数据不全为0时,确定该网页页面中存在页面声音,此时,向该标识参数中添加静音标志位,从而对该网页页面中的页面声音进行静音,实现了对IE内核浏览器中打开的网页页面中的页面声音进行控制,避免了该页面声音对用户造成的干扰。
图3是本发明实施例提供的一种控制网页页面声音的装置结构示意图。参见图3,该装置包括:监听模块301、获取模块302、判断模块303和控制模块304。
监听模块301,用于当打开网页页面且监听到创建对象函数被调用时,根据创建对象函数的地址,监听为该网页页面分配缓冲区的过程,得到该网页页面对应的缓冲区地址,该缓冲区用于存储网页页面包括的声音数据;
获取模块302,用于当监听到释放内存函数被调用时,根据该缓冲区地址,获取释放内存函数包括的标识参数,释放内存函数用于根据该缓冲区内存储的声音数据进行页面声音的播放,标识参数用于判断该网页页面中是否存在页面声音;
判断模块303,用于基于该标识参数,判断该网页页面中是否存在页面声音;
控制模块304,用于当该网页页面中存在页面声音时,对该页面声音进行控制。
可选地,监听模块301包括:
监听单元,用于根据创建对象函数的地址,监听创建对象函数创建音频服务对象的过程,得到音频服务对象的地址;
第一获取单元,用于根据音频服务对象的地址,获取音频服务对象包括的分配内存函数的地址;
第二获取单元,用于基于分配内存函数的地址,获取该网页页面对应的缓冲区地址。
可选地,监听单元包括:
第一监听子单元,用于根据创建对象函数的地址,监听创建对象函数创建音频设备列举对象的过程,得到音频设备列举对象的地址;
第一获取子单元,用于根据音频设备列举对象的地址,获取音频设备列举对象包括的指定音频设备获取函数的地址;
第二监听子单元,用于根据指定音频设备获取函数的地址,监听指定音频设备获取函数创建指定音频设备对象的过程,得到指定音频设备对象的地址;
第二获取子单元,用于根据指定音频设备对象的地址,获取指定音频设备对象包括的激活函数的地址;
第三监听子单元,用于根据激活函数的地址,监听激活函数创建提供音频管理服务对象的过程,得到提供音频管理服务对象的地址;
第三获取子单元,用于根据提供音频管理服务对象的地址,获取提供音频管理服务对象包括的提供服务函数的地址;
第四监听子单元,用于根据提供服务函数的地址,监听提供服务函数创建音频服务对象的过程,得到音频服务对象的地址。
可选地,获取模块302包括:
第三获取单元,用于当监听到释放内存函数被调用时,根据缓冲区地址,获取释放内存函数所在的音频服务对象对应的函数表,该音频服务对象对应的函数表中存储音频服务对象包括的函数的地址;
第四获取单元,用于根据释放内存函数的偏移量,从该音频服务对象对应的函数表中获取释放内存函数的地址;
第五获取单元,用于根据释放内存函数的地址,获取释放内存函数包括的标识参数。
可选地,判断模块303包括:
第一确定单元,用于如果该标识参数中携带静音标志位,则确定该网页页面中不存在页面声音;
读取单元,用于如果该标识参数中不携带静音标志位,则从该缓冲区中读取声音数据;
第二确定单元,用于如果读取的声音数据全为0,则确定该网页页面中不存在页面声音;
第三确定单元,用于如果读取的声音数据不全为0,则确定网页页面中存在页面声音。
可选地,控制模块304包括:
添加单元,用于当该网页页面中存在页面声音时,向释放内存函数包括的标识参数中添加静音标志位,静音标志位用于对该网页页面中存在的页面声音进行静音。
在本发明实施例中,根据创建对象函数的地址,监听为网页页面分配缓冲区的过程,从而获取到该网页页面对应的缓冲区地址。当监听到释放内存函数被调用时,根据该缓冲区地址,获取释放内存函数包括的标识参数,基于该标识参数判断出该网页页面中存在页面声音时,对该网页页面中的页面声音进行控制,实现了对IE内核浏览器中打开的网页页面中的页面声音进行控制,避免了该页面声音对用户造成的干扰。
需要说明的是:上述实施例提供的控制网页页面声音的装置在控制网页页面声音时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制网页页面声音的装置与控制网页页面声音的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种控制网页页面声音的方法,其特征在于,所述方法包括:
当打开网页页面且监听到创建对象函数被调用时,根据所述创建对象函数的地址,监听为所述网页页面分配缓冲区的过程,得到所述网页页面对应的缓冲区地址,所述缓冲区用于存储所述网页页面包括的声音数据;
当监听到释放内存函数被调用时,根据所述缓冲区地址,获取所述释放内存函数包括的标识参数,所述释放内存函数用于根据所述缓冲区内存储的声音数据进行页面声音的播放,所述标识参数用于判断所述网页页面中是否存在页面声音;
基于所述标识参数,判断所述网页页面中是否存在页面声音;
当所述网页页面中存在页面声音时,对所述页面声音进行控制。
2.如权利要求1所述的方法,其特征在于,所述根据所述创建对象函数的地址,监听为所述网页页面分配缓冲区的过程,得到所述网页页面对应的缓冲区地址,包括:
根据所述创建对象函数的地址,监听所述创建对象函数创建音频服务对象的过程,得到所述音频服务对象的地址;
根据所述音频服务对象的地址,获取所述音频服务对象包括的分配内存函数的地址;
基于所述分配内存函数的地址,获取所述网页页面对应的缓冲区地址。
3.如权利要求2所述的方法,其特征在于,所述根据所述创建对象函数的地址,监听所述创建对象函数创建音频服务对象的过程,得到所述音频服务对象的地址,包括:
根据创建对象函数的地址,监听所述创建对象函数创建音频设备列举对象的过程,得到所述音频设备列举对象的地址;
根据所述音频设备列举对象的地址,获取所述音频设备列举对象包括的指定音频设备获取函数的地址;
根据所述指定音频设备获取函数的地址,监听所述指定音频设备获取函数创建指定音频设备对象的过程,得到所述指定音频设备对象的地址;
根据所述指定音频设备对象的地址,获取所述指定音频设备对象包括的激活函数的地址;
根据所述激活函数的地址,监听所述激活函数创建提供音频管理服务对象的过程,得到所述提供音频管理服务对象的地址;
根据所述提供音频管理服务对象的地址,获取所述提供音频管理服务对象包括的提供服务函数的地址;
根据所述提供服务函数的地址,监听所述提供服务函数创建音频服务对象的过程,得到所述音频服务对象的地址。
4.如权利要求1所述的方法,其特征在于,所述根据所述缓冲区地址,获取所述释放内存函数包括的标识参数,包括:
根据所述缓冲区地址,获取所述释放内存函数所在的音频服务对象对应的函数表,所述函数表中存储所述音频服务对象包括的函数的地址;
根据所述释放内存函数的偏移量,从所述函数表中获取所述释放内存函数的地址;
根据所述释放内存函数的地址,获取所述释放内存函数包括的标识参数。
5.如权利要1所述的方法,其特征在于,所述基于所述标识参数,判断所述网页页面中是否存在页面声音,包括:
如果所述标识参数中携带静音标志位,则确定所述网页页面中不存在页面声音;
如果所述标识参数中不携带所述静音标志位,则从所述缓冲区中读取声音数据;
如果读取的声音数据全为0,则确定所述网页页面中不存在页面声音;
如果读取的声音数据不全为0,则确定所述网页页面中存在页面声音。
6.如权利要求1-5任一权利要求所述的方法,其特征在于,所述对所述页面声音进行控制,包括:
向所述释放内存函数包括的标识参数中添加静音标志位,所述静音标志位用于对所述网页页面中存在的页面声音进行静音。
7.一种控制网页页面声音的装置,其特征在于,所述装置包括:
监听模块,用于当打开网页页面且监听到创建对象函数被调用时,根据所述创建对象函数的地址,监听为所述网页页面分配缓冲区的过程,得到所述网页页面对应的缓冲区地址,所述缓冲区用于存储所述网页页面包括的声音数据;
获取模块,用于当监听到释放内存函数被调用时,根据所述缓冲区地址,获取所述释放内存函数包括的标识参数,所述释放内存函数用于根据所述缓冲区内存储的声音数据进行页面声音的播放,所述标识参数用于判断所述网页页面中是否存在页面声音;
判断模块,用于基于所述标识参数,判断所述网页页面中是否存在页面声音;
控制模块,用于当所述网页页面中存在页面声音时,对所述页面声音进行控制。
8.如权利要求7所述的装置,其特征在于,所述监听模块包括:
监听单元,用于根据所述创建对象函数的地址,监听所述创建对象函数创建音频服务对象的过程,得到所述音频服务对象的地址;
第一获取单元,用于根据所述音频服务对象的地址,获取所述音频服务对象包括的分配内存函数的地址;
第二获取单元,用于基于所述分配内存函数的地址,获取所述网页页面对应的缓冲区地址。
9.如权利要求8所述的装置,其特征在于,所述监听单元包括:
第一监听子单元,用于根据创建对象函数的地址,监听所述创建对象函数创建音频设备列举对象的过程,得到所述音频设备列举对象的地址;
第一获取子单元,用于根据所述音频设备列举对象的地址,获取所述音频设备列举对象包括的指定音频设备获取函数的地址;
第二监听子单元,用于根据所述指定音频设备获取函数的地址,监听所述指定音频设备获取函数创建指定音频设备对象的过程,得到所述指定音频设备对象的地址;
第二获取子单元,用于根据所述指定音频设备对象的地址,获取所述指定音频设备对象包括的激活函数的地址;
第三监听子单元,用于根据所述激活函数的地址,监听所述激活函数创建提供音频管理服务对象的过程,得到所述提供音频管理服务对象的地址;
第三获取子单元,用于根据所述提供音频管理服务对象的地址,获取所述提供音频管理服务对象包括的提供服务函数的地址;
第四监听子单元,用于根据所述提供服务函数的地址,监听所述提供服务函数创建音频服务对象的过程,得到所述音频服务对象的地址。
10.如权利要求7所述的装置,其特征在于,所述获取模块包括:
第三获取单元,用于当监听到释放内存函数被调用时,根据所述缓冲区地址,获取所述释放内存函数所在的音频服务对象对应的函数表,所述函数表中存储所述音频服务对象包括的函数的地址;
第四获取单元,用于根据所述释放内存函数的偏移量,从所述函数表中获取所述释放内存函数的地址;
第五获取单元,用于根据所述释放内存函数的地址,获取所述释放内存函数包括的标识参数。
11.如权利要7所述的装置,其特征在于,所述判断模块包括:
第一确定单元,用于如果所述标识参数中携带静音标志位,则确定所述网页页面中不存在页面声音;
读取单元,用于如果所述标识参数中不携带所述静音标志位,则从所述缓冲区中读取声音数据;
第二确定单元,用于如果读取的声音数据全为0,则确定所述网页页面中不存在页面声音;
第三确定单元,用于如果读取的声音数据不全为0,则确定所述网页页面中存在页面声音。
12.如权利要求7-11任一权利要求所述的装置,其特征在于,所述控制模块包括:
添加单元,用于当所述网页页面中存在页面声音时,向所述释放内存函数包括的标识参数中添加静音标志位,所述静音标志位用于对所述网页页面中存在的页面声音进行静音。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410528652.2A CN105512146B (zh) | 2014-10-09 | 2014-10-09 | 控制网页页面声音的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410528652.2A CN105512146B (zh) | 2014-10-09 | 2014-10-09 | 控制网页页面声音的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105512146A true CN105512146A (zh) | 2016-04-20 |
CN105512146B CN105512146B (zh) | 2020-04-21 |
Family
ID=55720130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410528652.2A Active CN105512146B (zh) | 2014-10-09 | 2014-10-09 | 控制网页页面声音的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105512146B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650725A (zh) * | 2009-04-30 | 2010-02-17 | 北京搜狗科技发展有限公司 | 一种对浏览器中的声音进行控制的方法及系统 |
US20130313313A1 (en) * | 2012-05-25 | 2013-11-28 | Wesley John Boudville | Mobile device audio from an external video display using a barcode |
CN103530100A (zh) * | 2012-07-05 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种wmp组件静音的方法、装置及播放器 |
CN103809950A (zh) * | 2012-11-12 | 2014-05-21 | 腾讯科技(深圳)有限公司 | Flash播放器插件静音方法及装置 |
CN104052797A (zh) * | 2013-03-15 | 2014-09-17 | 株式会社理光 | 分发控制系统、分发系统和分发控制方法 |
-
2014
- 2014-10-09 CN CN201410528652.2A patent/CN105512146B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650725A (zh) * | 2009-04-30 | 2010-02-17 | 北京搜狗科技发展有限公司 | 一种对浏览器中的声音进行控制的方法及系统 |
US20130313313A1 (en) * | 2012-05-25 | 2013-11-28 | Wesley John Boudville | Mobile device audio from an external video display using a barcode |
CN103530100A (zh) * | 2012-07-05 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种wmp组件静音的方法、装置及播放器 |
CN103809950A (zh) * | 2012-11-12 | 2014-05-21 | 腾讯科技(深圳)有限公司 | Flash播放器插件静音方法及装置 |
CN104052797A (zh) * | 2013-03-15 | 2014-09-17 | 株式会社理光 | 分发控制系统、分发系统和分发控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105512146B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572042A (zh) | 移动终端设备的跨平台中间件装置及其实现方法 | |
US20140052438A1 (en) | Managing audio capture for audio applications | |
WO2014005328A1 (zh) | 一种资源配置方法及装置 | |
WO2017107833A1 (zh) | 浏览器标签内的页面切换方法及装置 | |
CN103064580A (zh) | 一种在桌面上隐藏应用及调出隐藏应用的方法 | |
CN103699320A (zh) | 设置触屏参数值的方法及装置 | |
CN104182040A (zh) | 一种终端参数设置方法 | |
CN104881318A (zh) | 一种接口调用方法、装置及终端 | |
CN103888605A (zh) | 一种信息处理的方法及电子设备 | |
CN104063284B (zh) | 运行应用程序的方法和装置 | |
CN103488502A (zh) | 一种数据加载方法及装置 | |
CN111435600A (zh) | 用于处理音频的方法和装置 | |
TWI724507B (zh) | 語音處理方法和裝置 | |
CN108846113A (zh) | 一种图片预加载的方法、系统及相关组件 | |
CN104484229A (zh) | 切换操作系统的方法、装置及终端 | |
WO2016145707A1 (zh) | 一种在智能终端中添加主页的方法和装置 | |
TW201502810A (zh) | 在電子裝置處理所接收的網頁的方法及裝置 | |
CN104268193A (zh) | 一种广告网页的拦截方法及装置 | |
CN104503839A (zh) | 基于音频的计算设备优化方法及装置 | |
CN104811795A (zh) | 在线视频播放方法及装置 | |
CN109697156A (zh) | 一种启动时间获取方法、装置、终端设备及存储介质 | |
CN109901776A (zh) | 一种调整对象属性的方法及装置 | |
CN105512146A (zh) | 控制网页页面声音的方法及装置 | |
CN105096980B (zh) | 一种录音的方法及终端 | |
CN108268274B (zh) | 应用管理方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221124 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |