專利名稱:一種對(duì)瀏覽器中的聲音進(jìn)行控制的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及瀏覽器技術(shù)領(lǐng)域,特別是涉及一種對(duì)瀏覽器中的聲音進(jìn)行控制的方法
及系統(tǒng)。
背景技術(shù):
用戶在使用瀏覽器瀏覽網(wǎng)頁(yè)時(shí),經(jīng)常會(huì)在沒有預(yù)期的情況下聽到瀏覽器中發(fā)出的一些聲音,使用戶覺得莫名其妙甚至受到干擾。例如,在進(jìn)入某人的博客時(shí),會(huì)自動(dòng)播放該博客的背景音樂,此時(shí),如果用戶正在使用某本地播放器聽音樂,則會(huì)受到該背景音樂的干擾,此時(shí)用戶只能選擇將播放器關(guān)閉或暫停,或者在已知背景音樂來(lái)自哪個(gè)網(wǎng)頁(yè)的情況下將這個(gè)網(wǎng)頁(yè)關(guān)閉,如果無(wú)法確定干擾來(lái)自哪個(gè)網(wǎng)頁(yè)則只能直接將瀏覽器關(guān)閉。但是這樣做的結(jié)果是,要么無(wú)法繼續(xù)聽音樂,要么無(wú)法瀏覽博客里的文章,甚至需要重新打開瀏覽器才能繼續(xù)瀏覽網(wǎng)頁(yè)。 為此,有的瀏覽器提供了全局靜音功能,該功能可以將整個(gè)瀏覽器靜音,即可以使瀏覽器中所有的聲音都將處于靜音狀態(tài)。例如,用戶在使用本地播放器聽音樂時(shí),如果不想受到瀏覽器中的聲音的干擾,則可以直接啟動(dòng)該功能,這樣就可以一邊聽本地播放器中的音樂,一邊在瀏覽器中瀏覽網(wǎng)頁(yè)內(nèi)容了。 但是,目前越來(lái)越多的用戶選擇在網(wǎng)頁(yè)上在線聽音樂,而上述瀏覽器的全局靜音功能無(wú)法滿足這種用戶的需求。例如,某用戶正在某音樂網(wǎng)站上聽音樂,并同時(shí)打開了多個(gè)其他網(wǎng)頁(yè),此時(shí),如果受到了瀏覽器中的聲音的干擾,則無(wú)法通過啟動(dòng)瀏覽器靜音功能來(lái)消除這種干擾,因?yàn)橐坏﹩?dòng)該功能,則也無(wú)法在該音樂網(wǎng)站上聽音樂了。此時(shí),用戶只能想辦法找到干擾來(lái)自哪個(gè)網(wǎng)頁(yè),并將其關(guān)閉;如果用戶無(wú)法找到干擾的來(lái)源,則只能將所述音樂網(wǎng)站以外的網(wǎng)頁(yè)一個(gè)一個(gè)地關(guān)閉,直到干擾消除??梢?,現(xiàn)有技術(shù)控制瀏覽器中的聲音的實(shí)現(xiàn)方式不夠靈活、方便。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種對(duì)瀏覽器中的聲音進(jìn)行控制的方法及系統(tǒng),可以基于頁(yè)面
對(duì)瀏覽器中的聲音進(jìn)行靈活地控制。 為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下方案 —種對(duì)瀏覽器中的聲音進(jìn)行控制的方法,包括 獲知頁(yè)面中的聲音所在線程; 通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
優(yōu)選的,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則, 所述獲知頁(yè)面中的聲音所在的線程包括獲知每個(gè)頁(yè)面中的聲音各自所在的線程; 所述通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括通過控制所述每個(gè)頁(yè)面中的聲音各自所在的線程,對(duì)瀏覽器中處于不同頁(yè)面中的聲音
5分別進(jìn)行獨(dú)立的控制。
優(yōu)選的,所述獲知頁(yè)面中的聲音所在線程包括 當(dāng)播放聲音的函數(shù)被調(diào)用時(shí),獲取調(diào)用所述播放聲音的函數(shù)的線程的標(biāo)識(shí),將所述標(biāo)識(shí)對(duì)應(yīng)的線程確定為聲音所在線程; 根據(jù)所述標(biāo)識(shí)確定創(chuàng)建該聲音所在線程的頁(yè)面,將該聲音所在線程確定為該頁(yè)面中的聲音所在線程。 優(yōu)選的,所述通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括 通過修改特定頁(yè)面中的聲音所在線程調(diào)用的用于播放聲音的函數(shù),對(duì)所述瀏覽器
中特定頁(yè)面中的聲音進(jìn)行控制;
或者, 通過中斷特定頁(yè)面中的聲音所在線程對(duì)用于播放聲音的函數(shù)的調(diào)用,對(duì)所述瀏覽
器中特定頁(yè)面中的聲音進(jìn)行靜音控制;
或者, 通過掛起特定頁(yè)面中的聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制。
優(yōu)選的,還包括向用戶提供控制入口 ; 所述對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括在通過所述控制入口接收
到用戶的指令后,按照用戶指令對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。 優(yōu)選的,所述通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)
行控制包括 僅當(dāng)所述特定頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉; 當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。
—種對(duì)瀏覽器中的聲音進(jìn)行控制的系統(tǒng),包括
線程獲知單元,用于獲知頁(yè)面中的聲音所在線程; 第一頁(yè)面聲音控制單元,用于通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。 優(yōu)選的,如果所述瀏覽器中的聲音包括兩種以上的聲音,則 所述線程獲知單元,具體用于獲知每個(gè)頁(yè)面中的聲音各自所在的線程; 所述第一頁(yè)面聲音控制單元,具體用于通過控制所述每個(gè)頁(yè)面中的聲音各自所在
的線程,對(duì)瀏覽器中處于不同頁(yè)面中的聲音分別進(jìn)行獨(dú)立的控制。 優(yōu)選的,所述線程獲知單元包括 線程確定單元,用于當(dāng)播放聲音的函數(shù)被調(diào)用時(shí),獲取調(diào)用所述播放聲音的函數(shù)的線程的標(biāo)識(shí),將所述標(biāo)識(shí)對(duì)應(yīng)的線程確定為聲音所在線程; 線程分析單元,用于根據(jù)所述標(biāo)識(shí)確定創(chuàng)建該聲音所在線程的頁(yè)面,將該聲音所
在線程確定為該頁(yè)面中的聲音所在線程。 優(yōu)選的,所述第一頁(yè)面聲音控制單元包括 函數(shù)修改子單元,用于通過修改特定頁(yè)面中的聲音所在線程調(diào)用的用于播放聲音
6的函數(shù),對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制;
或者, 調(diào)用中斷子單元,用于通過中斷特定頁(yè)面中的聲音所在線程對(duì)用于播放聲音的函
數(shù)的調(diào)用,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制;
或者, 線程掛起子單元,用于通過掛起特定頁(yè)面中的聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制。
優(yōu)選的,還包括 控制入口提供單元,用于向用戶提供控制入口 ; 所述第一頁(yè)面聲音控制單元,具體用于通過所述控制入口接收到用戶的指令后,
按照用戶指令對(duì)瀏覽器中特定頁(yè)面中的聲音進(jìn)行對(duì)應(yīng)的控制。 優(yōu)選的,還包括 提示單元,用于在具有所述聲音的頁(yè)面所在的窗口中顯示本頁(yè)面具有聲音的提示標(biāo)識(shí)。 優(yōu)選的,所述第一頁(yè)面聲音控制單元包括 自動(dòng)控制子單元,用于僅當(dāng)所述瀏覽器中的聲音所在的頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。 —種對(duì)瀏覽器中的聲音進(jìn)行控制的方法,包括
獲知瀏覽器中特定頁(yè)面中嵌入的播放器控件元素; 通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
優(yōu)選的,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則, 所述獲知頁(yè)面中嵌入的播放器控件元素包括獲知每個(gè)頁(yè)面中各自嵌入的播放器控件元素; 所述通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括通過控制所述每個(gè)頁(yè)面中各自嵌入的播放器控件元素,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的控制。 優(yōu)選的,所述通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括 調(diào)用所述特定頁(yè)面中嵌入的播放器控件元素對(duì)外提供的用于聲音控制的接口 ,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。 優(yōu)選的,所述通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括 僅當(dāng)所述特定頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉; 當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。
—種對(duì)瀏覽器中的聲音進(jìn)行控制的系統(tǒng),包括 播放器控件獲知單元,用于獲知瀏覽器中特定頁(yè)面中嵌入的播放器控件元素;
第二頁(yè)面聲音控制單元,用于通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。 優(yōu)選的,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則, 所述播放器控件獲知單元,具體用于獲知每個(gè)頁(yè)面中各自嵌入的播放器控件元素; 所述第二頁(yè)面聲音控制單元,具體用于通過控制所述每個(gè)頁(yè)面中各自嵌入的播放
器控件元素,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的控制。 優(yōu)選的,所述播放器控件獲知單元包括 查詢子單元,用于查詢頁(yè)面的文檔對(duì)象模型,獲取標(biāo)簽名稱是對(duì)象的頁(yè)面元素的ClassID ^ 確定子單元,用于將ClassID符合預(yù)置條件的頁(yè)面元素確定為嵌入的播放器控件元素。 優(yōu)選的,所述第二頁(yè)面聲音控制單元具體用于調(diào)用所述特定頁(yè)面中嵌入的播放器控件元素對(duì)外提供的用于聲音控制的接口,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
優(yōu)選的,還包括 控制入口提供單元,用于向用戶提供控制入口 ; 所述第二頁(yè)面聲音控制單元,具體用于通過所述控制入口接收到用戶的指令后,
按照用戶指令對(duì)瀏覽器中特定頁(yè)面中的聲音進(jìn)行對(duì)應(yīng)的控制。 優(yōu)選的,還包括 提示單元,用于在具有所述聲音的頁(yè)面所在的窗口中顯示本頁(yè)面具有聲音的提示標(biāo)識(shí)。 優(yōu)選的,所述第二頁(yè)面聲音控制單元包括 自動(dòng)控制子單元,用于僅當(dāng)所述瀏覽器中的聲音所在的頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。 根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開了以下技術(shù)效果 本發(fā)明實(shí)施例通過獲知瀏覽器中的聲音所在的頁(yè)面;基于所述瀏覽器中的聲音及其所在頁(yè)面之間的對(duì)應(yīng)關(guān)系,對(duì)所述瀏覽器中特定頁(yè)面上的聲音進(jìn)行控制??梢?,本發(fā)明實(shí)施例能夠獲知聲音與頁(yè)面的對(duì)應(yīng)關(guān)系,因此能夠基于頁(yè)面對(duì)瀏覽器中的聲音進(jìn)行靈活地控制。
另外,本發(fā)明實(shí)施例還可以以多種方式通知用戶哪個(gè)頁(yè)面上有聲音正在播放,使得用戶可以清楚地知道聲音與頁(yè)面的對(duì)應(yīng)關(guān)系。還可以提供聲音控制入口,由用戶自行選擇某個(gè)頁(yè)面上聲音的播放或靜音。此外,還可以做到僅播放處于焦點(diǎn)狀態(tài)的頁(yè)面上的聲音,并在切換頁(yè)面的時(shí)候自動(dòng)切換頁(yè)面上聲音的開啟或關(guān)閉。
圖1是本發(fā)明實(shí)施例提供的方法的流程 圖2是本發(fā)明實(shí)施例提供的系統(tǒng)的示意圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。 參見圖l,本發(fā)明實(shí)施例提供的對(duì)瀏覽器中的聲音進(jìn)行控制的方法包括以下步驟 S101 :獲知瀏覽器中的聲音所在的頁(yè)面; S102:基于所述瀏覽器中的聲音及其所在頁(yè)面之間的對(duì)應(yīng)關(guān)系,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。 其中,所述對(duì)所述瀏覽器中特定頁(yè)面上的聲音進(jìn)行控制包括對(duì)所述瀏覽器中特定頁(yè)面上的聲音進(jìn)行開啟、關(guān)閉(將特定頁(yè)面上的聲音置為靜音)及音量調(diào)節(jié)。所述瀏覽器中的聲音是指用戶可以聽到的在瀏覽器中播放的各種形式的有聲內(nèi)容,比如音樂、歌曲、背景音樂或者視頻等等。 如果所述瀏覽器中的聲音包括兩種以上的聲音,則獲知瀏覽器中的聲音所在的頁(yè)面時(shí),可以分別獲知瀏覽器中每種聲音各自所在的頁(yè)面;并且可以基于瀏覽器中每種聲音與其所在頁(yè)面之間的各自對(duì)應(yīng)關(guān)系,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的聲音控制。 下面對(duì)上述兩個(gè)步驟分別進(jìn)行詳細(xì)的描述。其中,對(duì)于獲知瀏覽器中的聲音所在的頁(yè)面,即獲知聲音及其所在頁(yè)面之間的對(duì)應(yīng)關(guān)系,有多種具體實(shí)現(xiàn)方式。下面示例性的給出其中的幾種。 本發(fā)明實(shí)施例所述瀏覽器中的聲音是指在瀏覽器進(jìn)程中播放的聲音,包括在瀏覽器中的flash控件中播放的聲音,或者在嵌入到瀏覽器中的播放器控件中播放的聲音,或者還可以是作為某網(wǎng)頁(yè)的背景音樂播放的聲音,等等。但是,無(wú)論是使用flash控件還是嵌入到瀏覽器的播放器,或者是作為背景音樂,都是在瀏覽器進(jìn)程中進(jìn)行聲音的播放。
第一種獲知聲音及其所在頁(yè)面之間的對(duì)應(yīng)關(guān)系的具體實(shí)現(xiàn)方式
由于網(wǎng)頁(yè)上的各種資源,都需要首先到服務(wù)器上下載這些資源,才能發(fā)布在網(wǎng)頁(yè)上。在下載資源時(shí),需要向服務(wù)器發(fā)送下載資源的請(qǐng)求信息,該請(qǐng)求信息中會(huì)包括請(qǐng)求下載的資源的統(tǒng)一資源定位信息、請(qǐng)求信息的發(fā)出者的統(tǒng)一資源定位信息。實(shí)際應(yīng)用中,所述統(tǒng)一資源定位信息可以是統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifier, URI) , URI可以包括統(tǒng)一資源定位符(Uniform Resource Locator, URL),或者統(tǒng)一資源名稱(UniformResourceName,URN),為方便描述,本發(fā)明實(shí)施例中均以URL為例進(jìn)行介紹。其中,在資源的URL中會(huì)包括資源的后綴名,以表示資源的類型。例如,瀏覽器中的某聲音的后綴名可能是mp3、 rm、 wma等。 因此,可以攔截瀏覽器向服務(wù)器發(fā)送的下載資源的請(qǐng)求,并根據(jù)該請(qǐng)求信息來(lái)確定瀏覽器中的聲音與頁(yè)面之間的對(duì)應(yīng)關(guān)系。例如,攔截到某請(qǐng)求后發(fā)現(xiàn)資源URL的后綴名為mp3,則認(rèn)為該資源是一個(gè)聲音,然后從請(qǐng)求信息中獲取到請(qǐng)求信息的發(fā)出者的URL,由于請(qǐng)求的發(fā)出者可能是網(wǎng)頁(yè)本身,也可能是嵌入到網(wǎng)頁(yè)中的播放器,因此,如果發(fā)出者是網(wǎng)頁(yè)本身,則可以直接確定瀏覽器中的聲音與頁(yè)面之間的對(duì)應(yīng)關(guān)系;如果發(fā)出者是嵌入網(wǎng)頁(yè)的播放器,則還可以再根據(jù)播放器與網(wǎng)頁(yè)之間的對(duì)應(yīng)關(guān)系,確定瀏覽器中的聲音與網(wǎng)頁(yè)之間的對(duì)應(yīng)關(guān)系。當(dāng)然,為了提高準(zhǔn)確性,還可以通過攔截服務(wù)器返回的響應(yīng)信息的方法來(lái)實(shí)現(xiàn)。 上述第一種獲知聲音及其所在頁(yè)面之間的對(duì)應(yīng)關(guān)系的具體實(shí)現(xiàn)方式,需要攔截所
9有的相下載網(wǎng)頁(yè)中所有資源的請(qǐng)求,或者服務(wù)器返回的響應(yīng)信息,然后在眾多請(qǐng)求信息或 響應(yīng)信息中查找與聲音有關(guān)的信息。這種具體實(shí)現(xiàn)方式,針對(duì)瀏覽器中的flash控件中播 放的聲音以及網(wǎng)頁(yè)的背景音樂比較有效。 第二種獲知聲音及其所在頁(yè)面之間的對(duì)應(yīng)關(guān)系的具體實(shí)現(xiàn)方式確定瀏覽器中的 聲音所在的線程,然后根據(jù)所述瀏覽器中的聲音所在的線程確定所述瀏覽器中的聲音所在 的頁(yè)面。也就是說(shuō),首先獲知聲音所在的線程,然后根據(jù)線程與創(chuàng)建該線程的頁(yè)面之間的 對(duì)應(yīng)關(guān)系,來(lái)獲知頁(yè)面與該頁(yè)面中的聲音所在線程之間的對(duì)應(yīng)關(guān)系,通過該對(duì)應(yīng)關(guān)系就可 以獲知頁(yè)面中的聲音所在線程。因此,"獲知頁(yè)面中的聲音所在線程"有兩重含義需要獲 知某線程是聲音所在線程,并且還需要獲知該線程是由哪個(gè)頁(yè)面創(chuàng)建的,即頁(yè)面可能有多 個(gè),聲音所在線程也可能有多個(gè),需要獲知頁(yè)面與該頁(yè)面中的聲音所在線程之間的對(duì)應(yīng)關(guān) 系(如,頁(yè)面A中的聲音所在線程是線程a,頁(yè)面B中的聲音所在線程是線程b,等等),這 樣,在需要對(duì)某個(gè)特定頁(yè)面中的聲音進(jìn)行控制時(shí),就可以找到該頁(yè)面中的聲音所在線程,然 后通過控制該線程來(lái)控制該頁(yè)面中的聲音。 具體而言,應(yīng)用程序在運(yùn)行過程中總會(huì)創(chuàng)建相應(yīng)的進(jìn)程,而進(jìn)程中又會(huì)創(chuàng)建至少 一個(gè)線程,然后在線程中調(diào)用API函數(shù)來(lái)完成各項(xiàng)具體的操作;而且每個(gè)線程都有一個(gè)唯 一的線程標(biāo)識(shí)符,用于區(qū)分不同的線程。在使用瀏覽器打開某頁(yè)面時(shí),首先需要?jiǎng)?chuàng)建頁(yè)面線 程,然后可能在所述頁(yè)面線程下創(chuàng)建多個(gè)子線程,來(lái)共同完成各項(xiàng)具體的操作;例如,圖形 的展現(xiàn)、聲音的播放等都是由頁(yè)面線程或其子線程通過調(diào)用系統(tǒng)函數(shù)來(lái)實(shí)現(xiàn)的。因此,為了 確定瀏覽器中的聲音與頁(yè)面之間的對(duì)應(yīng)關(guān)系,可以首先確定瀏覽器中正在播放的聲音所在 的線程,然后根據(jù)該線程便可以確定所述瀏覽器中的聲音所在的頁(yè)面。換而言之,就是利用 線程來(lái)反查頁(yè)面,從而獲知頁(yè)面中的聲音所在的線程。 也就是說(shuō),可以當(dāng)所述瀏覽器中的聲音正在播放時(shí),確定瀏覽器中的聲音所在的 線程,然后,可以根據(jù)瀏覽器中的聲音所在的線程確定所述瀏覽器中的聲音所在的頁(yè)面。由 于應(yīng)用程序都是通過調(diào)用系統(tǒng)(例如windows操作系統(tǒng))的API (Application Programming Interface,應(yīng)用程序編程接口 )函數(shù)來(lái)播放聲音的,用于播放聲音的函數(shù)被調(diào)用時(shí),說(shuō)明 一定有聲音正在播放,因此,可以通過攔截播放聲音的函數(shù)來(lái)判斷是否有聲音正在播放。如 果攔截到播放聲音的函數(shù)被調(diào)用,則證明有聲音正在播放,同時(shí)可以利用系統(tǒng)提供的接口 獲取到調(diào)用該特定API函數(shù)的線程的線程標(biāo)識(shí)符,以此來(lái)確定瀏覽器中的聲音所在的線 程。 也就是說(shuō),為了確定聲音與頁(yè)面的對(duì)應(yīng)關(guān)系,可以在攔截播放聲音的函數(shù)被調(diào)用 時(shí)(說(shuō)明某個(gè)頁(yè)面中有聲音正在播放),通過系統(tǒng)提供的函數(shù)(GetCurrent Thread Id)獲 取到調(diào)用該播放聲音函數(shù)的線程的線程標(biāo)識(shí)符。這樣便可以獲知是哪個(gè)線程調(diào)用了播放聲 音的函數(shù)。然后根據(jù)這個(gè)線程,便可以確定瀏覽器中的聲音所在的頁(yè)面。即,當(dāng)播放聲音的 函數(shù)被調(diào)用時(shí),獲取調(diào)用所述播放聲音的函數(shù)的線程的標(biāo)識(shí),將所述標(biāo)識(shí)對(duì)應(yīng)的線程確定 為聲音所在線程,然后,就可以根據(jù)所述標(biāo)識(shí)確定創(chuàng)建該聲音所在線程的頁(yè)面,將該聲音所 在線程確定為該頁(yè)面中的聲音所在線程。這樣就相當(dāng)于建立起了頁(yè)面與該頁(yè)面中聲音所 在的線程之間的對(duì)應(yīng)關(guān)系,進(jìn)而,當(dāng)需要對(duì)特定頁(yè)面中的聲音進(jìn)行控制時(shí),就利用該對(duì)應(yīng)關(guān) 系,通過控制該特定頁(yè)面中聲音所在的線程來(lái)對(duì)該特定頁(yè)面中的聲音進(jìn)行控制。當(dāng)然,也可 以通過其他的方式獲取到瀏覽器中的聲音所在的線程。
10
需要說(shuō)明的是,不論是瀏覽器是采用單進(jìn)程方式、多進(jìn)程方式還是混合方式,都存 在創(chuàng)建頁(yè)面的線程。以多標(biāo)簽瀏覽器為例,在多進(jìn)程方式下,每個(gè)標(biāo)簽頁(yè)可能對(duì)應(yīng)一個(gè)單獨(dú) 的進(jìn)程,但是該進(jìn)程也是在某個(gè)線程中創(chuàng)建的。也就是說(shuō),即使標(biāo)簽頁(yè)對(duì)應(yīng)一個(gè)單獨(dú)的進(jìn) 程,也總會(huì)有創(chuàng)建頁(yè)面的線程。進(jìn)程相對(duì)于線程而言是個(gè)比較虛的概念,進(jìn)程不做具體的操 作,線程才是運(yùn)行代碼的最小單位,通過線程總能找到聲音所在的頁(yè)面。 其中,所述瀏覽器中的聲音所在的線程與頁(yè)面線程可能是同一個(gè)線程,例如頁(yè)面 中播放的flash等,會(huì)直接由頁(yè)面線程調(diào)用播放聲音的函數(shù),此時(shí),確定了瀏覽器中的聲音 所在的線程后,便可以直接確定該聲音所在的頁(yè)面。但是,還有一些情況,瀏覽器中的聲音 所在的線程不是頁(yè)面線程,而是頁(yè)面線程的某個(gè)子線程。此時(shí),為了確定瀏覽器中的聲音與 頁(yè)面之間的關(guān)系,可以在創(chuàng)建線程時(shí),攔截創(chuàng)建線程的函數(shù),并保存線程創(chuàng)建的父子關(guān)系, 這個(gè)樣可以得到每個(gè)頁(yè)面線程的所有子線程。當(dāng)獲取到瀏覽器中的聲音所在的線程的線程 標(biāo)識(shí)符后,可以通過反查該線程的父線程來(lái)確定該線程所在的頁(yè)面線程,進(jìn)而就可以確定 瀏覽器中的聲音所在的頁(yè)面了。當(dāng)然,也可以不用通過獲知線程的線程標(biāo)識(shí)符來(lái)確定是哪 個(gè)線程,例如還可以獲取線程的偽句柄的方式來(lái)確定,等等。由此可見,當(dāng)播放聲音的函數(shù) 被調(diào)用時(shí),獲取調(diào)用所述播放聲音的函數(shù)的線程的標(biāo)識(shí)(包括線程標(biāo)識(shí)符或偽句柄等),然 后,根據(jù)該標(biāo)識(shí)確定所述聲音所在的頁(yè)面,將該標(biāo)識(shí)對(duì)應(yīng)的線程確定為該頁(yè)面中的聲音所 在線程。 需要說(shuō)明的是,本發(fā)明實(shí)施例雖然攔截了播放聲音的函數(shù),但是可以僅僅是用于 獲知該函數(shù)被調(diào)用了,然后,該播放聲音的函數(shù)可以繼續(xù)正常運(yùn)行,即頁(yè)面中的聲音可以正 常播放。與此同時(shí),本發(fā)明實(shí)施例可以進(jìn)行異步地操作,實(shí)現(xiàn)確定聲音與頁(yè)面對(duì)應(yīng)關(guān)系的功 能。當(dāng)然,當(dāng)需要對(duì)某頁(yè)面中的聲音進(jìn)行靜音控制時(shí),也可以在截獲播放聲音的函數(shù)后,中 斷該頁(yè)面中聲音所在的線程對(duì)該函數(shù)的調(diào)用,此時(shí)相當(dāng)于該線程沒有調(diào)用到關(guān)于播放聲音 的任何函數(shù),自然也就無(wú)法播放出任何聲音,因此,可以實(shí)現(xiàn)自動(dòng)將某頁(yè)面中的聲音置為靜 另外,除了中斷線程對(duì)播放聲音的函數(shù)的調(diào)用之外,還可以通過其他方式對(duì)頁(yè)面
中的聲音進(jìn)行控制。例如,可以通過修改該特定頁(yè)面中的聲音所在線程調(diào)用的播放聲音的 函數(shù),對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。具體實(shí)現(xiàn)時(shí),例如,在第一個(gè)步驟中獲
知了特定頁(yè)面A中的聲音所在線程為線程a,則對(duì)頁(yè)面A中的聲音進(jìn)行控制時(shí),可以截獲線
程a調(diào)用的播放聲音的函數(shù),然后修改該函數(shù),就可以實(shí)現(xiàn)對(duì)頁(yè)面A中的聲音進(jìn)行控制。例
如,可以將該函數(shù)修改為用于靜音的函數(shù),則可以實(shí)現(xiàn)使該頁(yè)面A靜音。 舉例來(lái)說(shuō),假設(shè)系統(tǒng)中用于播放聲音的函數(shù)是函數(shù)a,某頁(yè)面中的聲音需要播放
時(shí),則需要?jiǎng)?chuàng)建一個(gè)線程A,然后由該線程A調(diào)用該函數(shù)a來(lái)播放聲音;為了對(duì)該頁(yè)面中的
聲音進(jìn)行控制,本發(fā)明實(shí)施例采用的方法就是截獲線程A對(duì)函數(shù)a的調(diào)用,并向線程A返
回函數(shù)b,該函數(shù)b可能是系統(tǒng)提供的另一個(gè)函數(shù),也可能是修改了函數(shù)a中的某些參數(shù)之
后得到的。 需要說(shuō)明的是,在這種方式下,實(shí)際上頁(yè)面中的聲音文件還是在播放,只是可能對(duì) 其進(jìn)行了靜音等控制,用戶可能聽不到其聲音,但是可以看到音頻播放器的進(jìn)度條還是在 正常前進(jìn),甚至,如果頁(yè)面中的聲音來(lái)自某視頻,則用戶可以看到視頻的畫面仍在播放,但 是聽不到聲音。
11
前兩種方式都是通過控制線程對(duì)函數(shù)的調(diào)用,來(lái)實(shí)現(xiàn)對(duì)頁(yè)面中的聲音進(jìn)行控制, 除此之外,還可以通過對(duì)線程本身的控制,來(lái)實(shí)現(xiàn)對(duì)頁(yè)面中的聲音進(jìn)行控制。例如,可以采 用掛起聲音所在線程的方式,使得播放聲音的線程暫停工作或者停止工作,當(dāng)線程恢復(fù)執(zhí) 行時(shí),聲音會(huì)繼續(xù)播放或恢復(fù)播放。即,當(dāng)需要對(duì)某頁(yè)面上的聲音進(jìn)行靜音控制時(shí),可以首 先根據(jù)之前建立的頁(yè)面與頁(yè)面中聲音所在線程之間的對(duì)應(yīng)關(guān)系,找到該頁(yè)面中的聲音所在 的線程,然后將該線程掛起,該頁(yè)面中的聲音就會(huì)被靜音了。當(dāng)然,由于其他頁(yè)面中的聲音 所在線程不會(huì)受到影響,因此,不會(huì)影響其他頁(yè)面中聲音的播放。 在這種掛起聲音所在線程的方式下,由于播放聲音的線程暫?;蛲V构ぷ鳎虼?, 頁(yè)面中的聲音也將暫停或停止播放,用戶也就自然無(wú)法聽到該頁(yè)面中的聲音。即,在這種方 式下,頁(yè)面中的音頻播放器的進(jìn)度條也將不再前進(jìn)。 需要說(shuō)明的是,如果頁(yè)面中的聲音來(lái)自某視頻,則可能有以下兩種情況一種情況
是畫面與聲音在同一線程,此時(shí),如果將聲音所在的線程掛起,則聲音停止播放的同時(shí),畫
面也將停止播放,即用戶在聽不到該頁(yè)面中的聲音的同時(shí),會(huì)看到頁(yè)面中的視頻播放器的
畫面停止播放,視頻播放器的進(jìn)度條也停止前進(jìn)。另一種情況是畫面與聲音不在同一線程,
即畫面所在的線程與聲音所在的線程相互獨(dú)立,此時(shí),如果將聲音所在的線程掛起,則聲音
停止播放的同時(shí),畫面會(huì)繼續(xù)播放,即用戶在聽不到該頁(yè)面中的聲音的同時(shí),會(huì)看到頁(yè)面中
的視頻播放器的畫面還在繼續(xù)播放,視頻播放器的進(jìn)度條也在繼續(xù)前進(jìn)。 另外需要說(shuō)明的是,由于無(wú)論畫面與聲音是否在同一線程,都是由主線程向其相
應(yīng)的線程同步分發(fā)緩存中的數(shù)據(jù),實(shí)現(xiàn)畫面及聲音同步的播放。通常,播放畫面的線程會(huì)在
成功播放完主線程分發(fā)的數(shù)據(jù)之后,向主線程反饋播放成功的消息,主線程收到之后,會(huì)繼
續(xù)分發(fā)下一段數(shù)據(jù)(對(duì)于聲音線程的是否播放成功,主線程通常會(huì)忽略掉,因此,只要收到
畫面成功播放的消息,主線程就會(huì)同步地分發(fā)新的數(shù)據(jù));否則,如果主線程沒有收到播放
成功的反饋信息,則不會(huì)繼續(xù)分發(fā)下一段數(shù)據(jù)。因此,在畫面與聲音在同一線程的情況下,
將聲音所在的線程掛起后,聲音和畫面都會(huì)暫停播放,因此,主線程無(wú)法收到播放成功的信
息,也不會(huì)繼續(xù)分發(fā)新的數(shù)據(jù);當(dāng)線程恢復(fù)執(zhí)行后,會(huì)從暫停處開始繼續(xù)進(jìn)行播放。 但是在畫面與聲音不在同一線程的情況下,將聲音所在的線程掛起后,聲音會(huì)停
止播放,但是畫面還在繼續(xù)播放,畫面所在的線程可以向主線程返回播放成功的消息,因
此,主線程還是會(huì)向畫面及聲音所在的線程同步分發(fā)新的數(shù)據(jù),只是此時(shí)聲音并沒有被成
功播放。因此,當(dāng)線程恢復(fù)執(zhí)行后,會(huì)從當(dāng)前畫面已經(jīng)播放到的位置開始,播放與畫面同步
的聲音。 總之,都是通過控制聲音所在線程,來(lái)實(shí)現(xiàn)對(duì)瀏覽器中特定頁(yè)面的聲音進(jìn)行控制。 當(dāng)然,這里所說(shuō)的控制聲音所在的線程是廣義上的控制,即,可以包括控制聲音所在的線程 對(duì)播放聲音函數(shù)的調(diào)用(如中斷函數(shù)的調(diào)用或者修改調(diào)用的函數(shù)等),也可以包括控制聲 音所在線程本身(如掛起聲音所在的線程),等等。總之,只要使對(duì)與聲音所在線程有關(guān)的 內(nèi)容進(jìn)行控制,都屬于控制聲音所在線程的范疇。 當(dāng)然,當(dāng)瀏覽器中至少兩個(gè)頁(yè)面中存在聲音時(shí),可以獲知每個(gè)頁(yè)面中的聲音各自 所在的線程,通過控制所述每個(gè)頁(yè)面中的聲音各自所在的線程,對(duì)瀏覽器中處于不同頁(yè)面 中的聲音分別進(jìn)行獨(dú)立的控制。 上述第二種獲知聲音及其所在頁(yè)面之間的對(duì)應(yīng)關(guān)系的具體實(shí)現(xiàn)方式,不但針對(duì)瀏覽器中flash控件中播放的聲音以及網(wǎng)頁(yè)的背景音樂比較有效,而且,對(duì)于那種使用嵌入 到瀏覽器的播放器控件播放的聲音也非常有效。 前文所述對(duì)本發(fā)明實(shí)施例提供的對(duì)瀏覽器中的聲音進(jìn)行控制的方法進(jìn)行了詳細(xì) 地描述,其中,在實(shí)際應(yīng)用中,可以由瀏覽器進(jìn)行自動(dòng)控制,也可以結(jié)合用戶的需要進(jìn)行半 自動(dòng)地控制。下面對(duì)此進(jìn)行詳細(xì)地介紹。 具體對(duì)瀏覽器中的聲音進(jìn)行控制時(shí),可以與用戶形成互動(dòng),也可以自動(dòng)地進(jìn)行控 制。為了與用戶形成互動(dòng),可以向用戶提供第一控制入口,該第一控制入口中可以包括開 啟、關(guān)閉、音量調(diào)節(jié)等按鈕(也可以使菜單等其他方式,后續(xù)僅以按鈕的方式為例說(shuō)明),用 戶可以通過點(diǎn)擊上述按鈕來(lái)發(fā)出請(qǐng)求;當(dāng)通過所述第一控制入口接收到用戶的指令后,按 照用戶指令對(duì)特定頁(yè)面上的聲音進(jìn)行對(duì)應(yīng)的控制。例如,用戶可以點(diǎn)擊靜音按鈕(相當(dāng)于 聲音關(guān)閉)選擇將某頁(yè)面中的聲音靜音(即關(guān)閉),還可以再通過點(diǎn)擊播放按鈕(相當(dāng)于聲 音開啟)播放該頁(yè)面中的聲音。 其中,所述向用戶提供第一控制入口對(duì)瀏覽器中特定頁(yè)面的聲音進(jìn)行控制具體可 以有多種實(shí)現(xiàn)方式,包括但不限于以下幾種情況 1)可以在標(biāo)簽欄或任務(wù)欄等處向用戶提供對(duì)本頁(yè)面中的聲音的第一控制入口。例 如,如果發(fā)現(xiàn)某頁(yè)面上有聲音,則可以在該頁(yè)面的標(biāo)簽上提供所述第一控制入口 ,用戶可以 通過該第一控制入口對(duì)該頁(yè)面上的聲音進(jìn)行控制。如果多個(gè)頁(yè)面上有聲音,則會(huì)分別在各 個(gè)頁(yè)面的標(biāo)簽上提供所述第一控制入口 ,分別通過各自的第一控制入口對(duì)各個(gè)頁(yè)面上的聲 音進(jìn)行控制。也就是說(shuō),在這種情況下,如果多個(gè)頁(yè)面上有聲音,則會(huì)有多個(gè)所述第一控制 入口。 2)也可以僅在瀏覽器窗口中提供一個(gè)所述第一控制入口 ,通過該第一控制入口 , 可以對(duì)處于焦點(diǎn)狀態(tài)的頁(yè)面上的聲音進(jìn)行控制。也就是說(shuō),即使多個(gè)頁(yè)面上有聲音,也僅通 過該第一控制入口對(duì)處于焦點(diǎn)狀態(tài)的頁(yè)面上的聲音進(jìn)行控制。并且,當(dāng)進(jìn)行頁(yè)面切換時(shí),能 夠通過該第一控制入口對(duì)聲音進(jìn)行控制的頁(yè)面也可以隨之發(fā)生變化。 3)在該情況下,也是僅在瀏覽器窗口中提供一個(gè)所述第一控制入口 ,但是可以在 第一控制入口中提供聲音與頁(yè)面的對(duì)應(yīng)關(guān)系。例如,當(dāng)前打開的多個(gè)頁(yè)面上都有聲音,用戶 點(diǎn)擊該第一控制入口 ,可以以菜單等形式向用戶提供對(duì)各個(gè)頁(yè)面上的聲音進(jìn)行控制的控制 入口 ,用戶可以通過這些控制入口對(duì)特定頁(yè)面上的聲音進(jìn)行控制。例如,用戶點(diǎn)擊第一控 制入口后,可以看到一個(gè)具有多條記錄的菜單,每條記錄中記錄著當(dāng)前打開的一個(gè)網(wǎng)頁(yè)的 URL(或網(wǎng)頁(yè)名稱)和該網(wǎng)頁(yè)的聲音控制按鈕,于是,用戶可以根據(jù)這個(gè)菜單同時(shí)對(duì)多個(gè)頁(yè) 面中的聲音進(jìn)行控制。 這樣,用戶便可以自由地選擇播放哪個(gè)頁(yè)面中的聲音,將哪些頁(yè)面中的聲音置為 靜音。例如,用戶正在某音樂網(wǎng)站上聽音樂,同時(shí)瀏覽其他網(wǎng)站;當(dāng)某網(wǎng)頁(yè)上播放某聲音時(shí), 本發(fā)明實(shí)施例便可以提示用戶播放該聲音的網(wǎng)頁(yè),然后用戶可以直接將該網(wǎng)頁(yè)關(guān)閉。或者 向用戶提供聲音控制入口 ,用戶可以通過點(diǎn)擊靜音按鈕,將該頁(yè)面中播放的聲音置為靜音; 如果該頁(yè)面上的聲音感興趣,還可以隨時(shí)通過點(diǎn)擊播放按鈕,播放該頁(yè)面上的聲音,同時(shí)將 所述音樂網(wǎng)站置為靜音。可見,本發(fā)明實(shí)施例實(shí)現(xiàn)了基于頁(yè)面對(duì)聲音的靈活控制。
另外,還可以向用戶提供第二控制入口 ,在通過所述第二控制入口接收到用戶的 指令后,按照用戶指令對(duì)瀏覽器中的聲音進(jìn)行全局的控制。也就是說(shuō),可以通過所述第二控制入口對(duì)瀏覽器中的聲音進(jìn)行全局控制。用戶可以通過全局控制入口選擇將整個(gè)瀏覽 器(即當(dāng)前在瀏覽器中打開的所有頁(yè)面中的聲音)靜音,或?qū)g覽器中的聲音全部開啟,這 樣,如果用戶正在使用本地播放器聽音樂,則可以通過全局控制的入口將整個(gè)瀏覽器置為 靜音(即關(guān)閉聲音),而不用一個(gè)一個(gè)地將各個(gè)頁(yè)面上的聲音關(guān)閉。其中,所述第二控制入 口設(shè)置的位置包括但不限于狀態(tài)欄、地址欄或菜單欄等處。 此外,在確定了瀏覽器中的聲音所在的頁(yè)面之后,還可以通知用戶哪個(gè)頁(yè)面上有 可播放的聲音。具體的,可以在具有聲音的頁(yè)面所在的窗口中顯示本頁(yè)面具有聲音的提示 標(biāo)識(shí)。例如,可以采用在標(biāo)簽頁(yè)、地址欄、狀態(tài)欄等處提供圖標(biāo)等方式給出提示標(biāo)識(shí)。這樣 用戶可以很直觀地發(fā)現(xiàn)哪個(gè)頁(yè)面上有聲音,如果不想被該聲音干擾,可以直接選擇將該頁(yè) 面關(guān)閉;如果想欣賞該頁(yè)面中的聲音,則可以進(jìn)行相應(yīng)的操作。當(dāng)然,也可以直接將所述提 示標(biāo)識(shí)作為第三控制入口 ,與所述第一控制入口相似,在通過所述第三控制入口接收到用 戶的指令后,可以按照用戶指令對(duì)特定頁(yè)面上的聲音進(jìn)行對(duì)應(yīng)的控制。 在自動(dòng)控制的方式下,可以僅播放處于焦點(diǎn)狀態(tài)的頁(yè)面中的聲音。其中,所述處于 焦點(diǎn)狀態(tài)的頁(yè)面是指當(dāng)前處于最頂層用戶可以直接看到并對(duì)其操作的頁(yè)面。當(dāng)然,用戶可 能將多個(gè)窗口縮小,使得當(dāng)前可以看到多個(gè)頁(yè)面,但是能夠進(jìn)行操作的只有一個(gè)。因此,如 果某頁(yè)面中有聲音,只有當(dāng)該頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),該頁(yè)面中的聲音才會(huì)被播放,否則自動(dòng) 將該頁(yè)面中的聲音置為靜音。而且可以在切換頁(yè)面的時(shí)候,自動(dòng)切換頁(yè)面中聲音的播放或 靜音。 其中,對(duì)于多標(biāo)簽瀏覽器,切換頁(yè)面可以是直接切換標(biāo)簽頁(yè)(可以直接通過在標(biāo) 簽欄點(diǎn)擊完成切換);而對(duì)于多窗口瀏覽器,各個(gè)窗口的標(biāo)簽顯示在任務(wù)欄中,切換頁(yè)面可 以是指用戶在任務(wù)欄中通過點(diǎn)擊某個(gè)標(biāo)簽來(lái)將某個(gè)窗口切換為焦點(diǎn)狀態(tài),還可以是用戶直 接將當(dāng)前處于焦點(diǎn)狀態(tài)的窗口最小化,此時(shí)系統(tǒng)可以自動(dòng)將另一個(gè)窗口切換為焦點(diǎn)狀態(tài)。 當(dāng)然,在自動(dòng)控制方式下還可以自動(dòng)將整個(gè)瀏覽器中的聲音全部關(guān)閉,用戶可以根據(jù)頁(yè)面 上的控制入口基于頁(yè)面控制聲音的播放。 需要說(shuō)明的是,本發(fā)明實(shí)施例提供的方法可以適用于單窗口多標(biāo)簽的瀏覽器,也 可以適用于多窗口的瀏覽器。在多標(biāo)簽瀏覽器中,本發(fā)明實(shí)施例所述頁(yè)面為標(biāo)簽頁(yè),在多窗 口瀏覽器中,本發(fā)明實(shí)施例所述頁(yè)面為窗口。另外,本發(fā)明實(shí)施例所述的聲音可以是在瀏覽 器中播放的音頻、視頻、flash等的聲音。 可見,通過本發(fā)明實(shí)施例,可以獲知哪些頁(yè)面上有聲音,哪些頁(yè)面上沒有聲音,并 且能夠控制任意的頁(yè)面是否播放聲音或者調(diào)節(jié)聲音的音量大小,還可以對(duì)瀏覽器全局進(jìn)行 聲音控制,實(shí)現(xiàn)快速地開啟或關(guān)閉整個(gè)瀏覽器的聲音。而且當(dāng)頁(yè)面上有聲音時(shí),可以通過多 種方式通知用戶,使得用戶可以識(shí)別聲音的來(lái)源,并且可以提供基于頁(yè)面控制聲音的入口 , 使得用戶可以根據(jù)自己的需求控制聲音的開啟或關(guān)閉。另外,還可以做到僅播放處于焦點(diǎn) 狀態(tài)的頁(yè)面上的聲音,并在切換頁(yè)面時(shí)自動(dòng)切換頁(yè)面上聲音的開啟或關(guān)閉。通過本發(fā)明實(shí) 施例所提供的方法,用戶可以更加方便地對(duì)瀏覽器中的聲音進(jìn)行識(shí)別及控制,體現(xiàn)了極大 的方便性及靈活性,可以深入地挖掘互聯(lián)網(wǎng)信息資源為用戶所用。 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以 通過程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中, 該程序在執(zhí)行時(shí),包括如下步驟獲知頁(yè)面中的聲音所在線程;通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。。所述的存儲(chǔ)介質(zhì),如R0M/RAM、磁碟、光盤等。 與本發(fā)明實(shí)施例提供的對(duì)瀏覽器中的聲音進(jìn)行控制的方法相對(duì)應(yīng),本發(fā)明實(shí)施例 還提供了一種對(duì)瀏覽器中的聲音進(jìn)行控制的系統(tǒng),參見圖2,該系統(tǒng)包括
頁(yè)面確定單元U201,用于獲知瀏覽器中的聲音所在的頁(yè)面; 頁(yè)面聲音控制單元U202,用于基于所述瀏覽器中的聲音及其所在頁(yè)面之間的對(duì)應(yīng)
關(guān)系,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。 如果所述瀏覽器中的聲音包括兩種以上的聲音,則 頁(yè)面單元U201具體用于獲知瀏覽器中每種聲音各自所在的頁(yè)面; 頁(yè)面聲音控制單元U202具體用于基于瀏覽器中每種聲音與其所在頁(yè)面之間的各
自對(duì)應(yīng)關(guān)系,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的控制。 其中,可以采用線程分析的方法來(lái)獲知瀏覽器中的聲音所在的頁(yè)面,此時(shí),頁(yè)面確
定單元U201包括 線程確定單元U2011,用于確定瀏覽器中的聲音所在的線程;S卩,當(dāng)發(fā)現(xiàn)瀏覽器中 有聲音在播放時(shí),確定出聲音所在的線程,此時(shí)僅僅確定了該線程是用于播放聲音的,但是 還不能確定該線程是由哪個(gè)頁(yè)面創(chuàng)建的; 線程分析單元U2012,用于根據(jù)所述瀏覽器中的聲音所在的線程確定所述瀏覽器
中的聲音所在的頁(yè)面。即,在確定了聲音所在的線程之后,確定出該線程是由哪個(gè)頁(yè)面創(chuàng)建
的,這樣就可以建立起頁(yè)面與該頁(yè)面上的聲音所在的線程之間的對(duì)應(yīng)關(guān)系。 可以看出,上述線程確定單元U2011和線程分析單元U2012兩個(gè)單元共同完成的
功能主要是,獲知頁(yè)面中的聲音所在的線程。當(dāng)然,上述兩個(gè)單元的劃分是基于邏輯角度考
慮的,在實(shí)際應(yīng)用中也可以將上述兩個(gè)單元完成的功能由一個(gè)單元單獨(dú)完成,可以稱這個(gè)
單元為線程獲知單元,所述線程獲知單元用于獲知頁(yè)面中的聲音所在線程。 由于聲音的播放是通過在某個(gè)線程中調(diào)用播放聲音的函數(shù)來(lái)實(shí)現(xiàn)的,而且每個(gè)線
程都有一個(gè)唯一的線程標(biāo)識(shí)符,并且系統(tǒng)可以提供獲取線程標(biāo)識(shí)符的函數(shù),因此可以通過
線程標(biāo)識(shí)符來(lái)確定正在播放的聲音所在的線程,此時(shí),線程確定單元可以包括 函數(shù)攔截子單元,用于攔截到播放聲音的函數(shù)時(shí),獲取調(diào)用所述播放聲音的函數(shù)
的線程的線程標(biāo)識(shí)符,當(dāng)然還可以是線程的偽句柄等標(biāo)識(shí); 確定子單元,用于將所述線程標(biāo)識(shí)符對(duì)應(yīng)的線程確定為所述瀏覽器中的聲音所在 的線程。 函數(shù)攔截子單元攔截到播放聲音的函數(shù),便可以確定當(dāng)前一定是有聲音在播放; 此時(shí)便可以通過反查調(diào)用該播放聲音的函數(shù)的線程,來(lái)確定瀏覽器中的聲音所在的線程; 然后,線程分析單元可以根據(jù)所述瀏覽器中正在播放的聲音所在的線程確定所述瀏覽器中 的聲音所在的頁(yè)面。 通過上述描述可知,線程確定單元在具體實(shí)現(xiàn)時(shí)可以具體包括函數(shù)攔截子單元 和確定子單元,同理,這種單元的劃分也是從邏輯角度考慮的,在具體實(shí)現(xiàn)時(shí),也可以由線 程確定單元一個(gè)單元實(shí)現(xiàn)函數(shù)攔截子單元和確定子單元兩個(gè)子單元的功能,即線程確定單 元,具體用于當(dāng)播放聲音的函數(shù)被調(diào)用時(shí),獲取調(diào)用所述播放聲音的函數(shù)的線程的標(biāo)識(shí),將 所述標(biāo)識(shí)對(duì)應(yīng)的線程確定為聲音所在線程。對(duì)應(yīng)的,線程分析單元,具體用于根據(jù)所述標(biāo)識(shí)
15確定創(chuàng)建該聲音所在線程的頁(yè)面,將該聲音所在線程確定為該頁(yè)面中的聲音所在線程。
最終,頁(yè)面聲音控制單元U202便可以根據(jù)所述瀏覽器中的聲音及其所在的頁(yè)面 之間的對(duì)應(yīng)關(guān)系,對(duì)所述瀏覽器中的聲音進(jìn)行控制了。 由于有些聲音所在的線程與頁(yè)面線程并不是同一線程,因此可能無(wú)法直接通過聲 音所在的線程確定聲音所在的頁(yè)面。但是聲音所在的線程一定是聲音所在頁(yè)面的頁(yè)面線程 的子線程,因此可以通過反查父線程的方法來(lái)確定聲音所在的頁(yè)面。此時(shí),該系統(tǒng)還包括
線程記錄單元U203,用于在創(chuàng)建線程時(shí),攔截創(chuàng)建線程的函數(shù),記錄頁(yè)面線程的子 線程; 線程分析單元U2012包括 線程反查子單元,用于當(dāng)瀏覽器中的聲音所在的線程與頁(yè)面所在的線程不是同一 線程時(shí),通過反查所述瀏覽器中的聲音所在的線程的父線程,確定所述瀏覽器中的聲音所 在的頁(yè)面。 與前述方法實(shí)施例的技術(shù)特征相對(duì)應(yīng),具體在對(duì)特定頁(yè)面中的聲音進(jìn)行控制時(shí), 主要通過控制聲音所在線程進(jìn)行控制。具體而言,頁(yè)面聲音控制單元U202可以包括第一 頁(yè)面聲音控制單元,用于通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音 進(jìn)行控制。 所述第一頁(yè)面聲音控制單元可以通過多種方式,對(duì)所述瀏覽器中特定頁(yè)面中的聲 音進(jìn)行控制,具體的,所述第一頁(yè)面聲音控制單元可以包括 函數(shù)修改子單元,用于通過修改特定頁(yè)面中的聲音所在線程調(diào)用的用于播放聲音 的函數(shù),對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制;
或者, 調(diào)用中斷子單元,用于通過中斷特定頁(yè)面中的聲音所在線程對(duì)用于播放聲音的函 數(shù)的調(diào)用,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制;
或者, 線程掛起子單元,用于通過掛起特定頁(yè)面中的聲音所在線程,對(duì)所述瀏覽器中特 定頁(yè)面中的聲音進(jìn)行靜音控制。 在對(duì)頁(yè)面中的聲音進(jìn)行控制時(shí),可以與用戶形成互動(dòng)。為此,可以提供第一控制入 口,此時(shí),該系統(tǒng)還包括 第一控制入口提供單元U204,用于向用戶提供第一控制入口 ;此時(shí),頁(yè)面聲音控 制單元U202用于通過所述第一控制入口接收到用戶的指令后,按照用戶指令對(duì)瀏覽器中 的聲音進(jìn)行對(duì)應(yīng)的控制。 其中,第一控制入口提供單元U204具體用于在具有所述聲音的頁(yè)面所在的窗口 中,向用戶提供對(duì)本頁(yè)面中的聲音的控制入口。 除了可以基于頁(yè)面對(duì)瀏覽器中的聲音進(jìn)行聲音控制以外,還可以對(duì)瀏覽器中的聲 音進(jìn)行全局控制,即從整體上開啟或關(guān)閉瀏覽器中各個(gè)頁(yè)面上的聲音,或者調(diào)節(jié)瀏覽器中 聲音的音量。此時(shí),該系統(tǒng)還可以包括 第二控制入口提供單元U205,用于向用戶提供第二控制入口 ; 全局聲音控制單元U206,用于通過所述第二控制入口接收到用戶的指令后,按照
用戶指令對(duì)瀏覽器中的聲音進(jìn)行全局的控制。
16
另外,在獲取到瀏覽器中的聲音與頁(yè)面之間的對(duì)應(yīng)關(guān)系后,可以向用戶發(fā)出通知, 告知用戶哪些頁(yè)面上有聲音,這樣如果用戶想要關(guān)閉有聲音的頁(yè)面,則可以直接找到該頁(yè) 面,而不用再一個(gè)個(gè)地嘗試著關(guān)閉。此時(shí),該系統(tǒng)還包括 提示單元U207,用于在具有所述正在播放的聲音的頁(yè)面所在的窗口中顯示本頁(yè)面 具有聲音的提示標(biāo)識(shí)。在具體進(jìn)行聲音播放控制時(shí),可以直接將所述提示標(biāo)識(shí)作為第三控 制入口 ,此時(shí),頁(yè)面聲音控制單元U202用于通過所述第三控制入口接收到用戶的指令后, 按照用戶指令對(duì)瀏覽器中的聲音進(jìn)行對(duì)應(yīng)的控制。 另外,頁(yè)面聲音控制單元U202也可以自動(dòng)對(duì)瀏覽器中的聲音進(jìn)行播放控制,可以 包括 自動(dòng)控制子單元,用于僅當(dāng)所述瀏覽器中的聲音所在的頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開 啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的 開啟或關(guān)閉。
由上述可知,該系統(tǒng)還可以包括 控制入口提供單元,用于向用戶提供控制入口 ;相應(yīng)的,所述第一頁(yè)面聲音控制單 元,具體用于通過所述控制入口接收到用戶的指令后,按照用戶指令對(duì)瀏覽器中特定頁(yè)面 中的聲音進(jìn)行對(duì)應(yīng)的控制。 另外,所述第一頁(yè)面聲音控制單元可以包括自動(dòng)控制子單元,用于僅當(dāng)所述瀏覽 器中的聲音所在的頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān) 閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。 在前文所述的實(shí)施例中,需要首先獲知頁(yè)面中的聲音所在線程,然后通過對(duì)線程 的控制來(lái)實(shí)現(xiàn)對(duì)特定頁(yè)面中的聲音進(jìn)行控制。在獲知頁(yè)面中的聲音所在線程的過程中,可 以先獲知有聲音正在播放,然后,利用調(diào)用播放聲音的線程,來(lái)查找建立該線程的頁(yè)面,這 樣,相當(dāng)于是根據(jù)聲音查找頁(yè)面的過程。在本發(fā)明的其他實(shí)施例中,還可以根據(jù)頁(yè)面來(lái)查找 聲音,下面對(duì)此進(jìn)行詳細(xì)介紹。 具體實(shí)現(xiàn)時(shí),可以首先對(duì)頁(yè)面中的頁(yè)面元素進(jìn)行分析,判斷其中是否包含嵌入的 播放器控件元素,如果包含,則可以確定該頁(yè)面中可能有聲音正在播放或可以播放,同時(shí), 可以根據(jù)所述確定的頁(yè)面中的播放器控件元素,獲知瀏覽器中的聲音所在的頁(yè)面。即,在該具體實(shí)施方式
下,不一定是只有正在播放的聲音才能被識(shí)別,而是只要能夠在該頁(yè)面中播 放,不管該播放器中的音頻或視頻是否正在播放,都可以識(shí)別出來(lái),并能夠確定該聲音所在 的頁(yè)面。 具體實(shí)現(xiàn)時(shí),由于嵌入到瀏覽器中的播放器控件在頁(yè)面中的標(biāo)簽(tag)名稱是對(duì) 象(〈object〉),同時(shí),由于其為ActiveX控件,有其特定的ClassId (類標(biāo)識(shí)符),因此,只要 能夠預(yù)先獲知播放器控件的Classld,在獲取到tag名稱是〈ob ject〉的頁(yè)面元素之后,就可 以將這些頁(yè)面元素的Classld與已知的播放器控件的Classld做比較,如果相同,則可以確 定頁(yè)面中包含音視頻播放器控件。 當(dāng)然,不同播放器控件的Classld各不相同,對(duì)于相同的播放器控件,隨著版本的 不同,其Classld也可能不同,因此,可以預(yù)先枚舉各種播放器控件的Classld,頁(yè)面元素的 Classld只要與其中任意一個(gè)相同,即可確定頁(yè)面中包含音視頻播放器控件。
具體對(duì)于某頁(yè)面而言,可以通過以下步驟獲知瀏覽器中的聲音所在的頁(yè)面查詢頁(yè)面的文檔對(duì)象模型(DOM),獲取標(biāo)簽名稱是對(duì)象的頁(yè)面元素的ClassID ;將ClassID符合 預(yù)置條件的頁(yè)面元素確定為嵌入的播放器控件元素;根據(jù)頁(yè)面與嵌入的播放器控件元素的 對(duì)應(yīng)關(guān)系,就可以獲知瀏覽器中的聲音所在的頁(yè)面。 在獲知了頁(yè)面中嵌入的播放器控件元素的情況下,可以直接通過控制所述播放器 控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。具體的,由于能夠獲知頁(yè)面中包 含的播放器控件,而且通常播放器控件都對(duì)外提供了用于聲音控制的接口,因此,可以直接 通過所述音視頻播放器的用于聲音控制的接口 ,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控 制。 需要說(shuō)明的是,在這種方式下,需要播放器控件對(duì)外提供用于聲音控制的接口, 即,只有當(dāng)播放器控件對(duì)外提供了用于聲音控制的接口時(shí),才能夠采用這種方式實(shí)現(xiàn)。例 如,對(duì)于Windows操作系統(tǒng)而言,微軟的播放器控件Windows Media Player就對(duì)外提供了 用于聲音控制的接口。 由以上具體實(shí)現(xiàn)方式可見,本發(fā)明實(shí)施例提供的對(duì)瀏覽器中的聲音進(jìn)行控制的方 法可以包括以下步驟 步驟1 :獲知頁(yè)面中嵌入的播放器控件元素; 從前文可知,具體實(shí)現(xiàn)時(shí),可以對(duì)頁(yè)面元素進(jìn)行分析,從中查找是否包含播放器控 件元素。例如,可以查詢頁(yè)面的文檔對(duì)象模型,獲取標(biāo)簽名稱是對(duì)象的頁(yè)面元素的ClassID; 將ClassID符合預(yù)置條件的頁(yè)面元素確定為嵌入的播放器控件元素。 步驟2 :通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行 控制。具體的,由于播放器控件元素通常會(huì)對(duì)外提供用于聲音控制的接口,因此,可以通過 調(diào)用該接口來(lái)實(shí)現(xiàn)對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。如media player提供了 mute和volume兩個(gè)接口 ,通過調(diào)用這兩個(gè)接口可以分別做到靜音和調(diào)節(jié)音量。
從展現(xiàn)界面上看,當(dāng)調(diào)用了播放器控件對(duì)外提供的接口之后,播放器控件在展現(xiàn) 界面上也會(huì)有所變化。例如,當(dāng)調(diào)用了 mute接口時(shí),相應(yīng)的播放器控件上的音量的按鈕也 會(huì)顯示成靜音的狀態(tài),就像被用戶點(diǎn)了靜音按鈕一樣。實(shí)際上,在用戶點(diǎn)擊靜音按鈕時(shí),也 是要播放器也需要調(diào)用mute接口來(lái)實(shí)現(xiàn)靜音,只是該接口也可以被其他程序來(lái)調(diào)用。對(duì)于 本發(fā)明實(shí)施例而言,如果通過瀏覽器來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施例提供的方法,則就相當(dāng)于由瀏覽 器調(diào)用了 medi即layer提供的mute接口 ,實(shí)現(xiàn)了使該播放器控件中的聲音靜音的目的。
總之,在這種實(shí)現(xiàn)方式下,具體的實(shí)現(xiàn)過程可以是這樣的通過獲知頁(yè)面中嵌入的 播放器控件元素,相當(dāng)于建立了頁(yè)面與播放器控件之間的對(duì)應(yīng)關(guān)系;當(dāng)需要對(duì)某特定頁(yè)面 進(jìn)行聲音控制時(shí),通過之前建立的對(duì)應(yīng)關(guān)系,找到該頁(yè)面中嵌入的播放器控件,然后調(diào)用該 播放器控件提供的對(duì)聲音進(jìn)行控制的接口 ,就可以實(shí)現(xiàn)對(duì)聲音的控制。 類似的,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則,可以獲知每個(gè)頁(yè)面中各 自嵌入的播放器控件元素,然后,可以通過控制所述每個(gè)頁(yè)面中各自嵌入的播放器控件元 素,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的控制。 同樣,也可能存在同一頁(yè)面中包含多種聲音的情況,則,可以獲知同一頁(yè)面中嵌入 的各播放器控件元素,然后,也可以通過控制所述同一頁(yè)面中的各播放器控件元素,對(duì)該頁(yè) 面中的各種聲音進(jìn)行統(tǒng)一控制。 當(dāng)然,由于是通過對(duì)頁(yè)面元素進(jìn)行分析獲知的播放器控件元素,因此,存在以下可
18能可以從頁(yè)面上的文字等信息,獲知各播放器控件元素對(duì)應(yīng)的聲音,例如,如果頁(yè)面上存
在播放器控件元素播放的聲音的名稱等信息,則可以直接獲取聲音與播放器控件元素之間
的對(duì)應(yīng)關(guān)系。此時(shí),可以通過分別控制所述同一頁(yè)面中的各播放器控件元素,對(duì)該頁(yè)面中的
各種聲音進(jìn)行單獨(dú)控制。也就是說(shuō),在這種情況下,可以對(duì)指定的聲音進(jìn)行控制。 需要說(shuō)明的是,本發(fā)明實(shí)施例的目的是對(duì)特定的頁(yè)面中的聲音進(jìn)行控制,例如,如
果某個(gè)頁(yè)面中有聲音正在播放,則能夠?qū)崿F(xiàn)將該頁(yè)面中的聲音靜音,因此,瀏覽器并不需要
知道頁(yè)面中播放的具體是那首歌曲。也就是說(shuō),本發(fā)明實(shí)施例中所述的聲音并不是是指具
體某首歌曲對(duì)應(yīng)的聲音。因此,在本發(fā)明實(shí)施例中,只需要知道對(duì)哪個(gè)或哪些操作對(duì)象進(jìn)行
操作,能夠?qū)崿F(xiàn)對(duì)特定的頁(yè)面進(jìn)行聲音控制即可。 與利用線程進(jìn)行控制的方法類似,在這種實(shí)現(xiàn)方式下,同樣可以由瀏覽器進(jìn)行自 動(dòng)控制,也可以結(jié)合用戶的需要進(jìn)行半自動(dòng)地控制。具體實(shí)現(xiàn)時(shí),可以參照進(jìn)行,這里不再 贅述。 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以 通過程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中, 該程序在執(zhí)行時(shí),包括如下步驟獲知瀏覽器中特定頁(yè)面中嵌入的播放器控件元素;通過 控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。所述的存儲(chǔ)介質(zhì), 如R0M/RAM、磁碟、光盤等。 與上述對(duì)瀏覽器中的聲音進(jìn)行控制的方法相對(duì)應(yīng),本發(fā)明實(shí)施例還提供了對(duì)瀏覽 器中的聲音進(jìn)行控制的系統(tǒng),該系統(tǒng)可以包括 播放器控件獲知單元,用于獲知瀏覽器中特定頁(yè)面中嵌入的播放器控件元素;
第二頁(yè)面聲音控制單元,用于通過控制所述播放器控件元素,對(duì)所述瀏覽器中特 定頁(yè)面中的聲音進(jìn)行控制。 其中,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則, 所述播放器控件獲知單元,具體用于獲知每個(gè)頁(yè)面中各自嵌入的播放器控件元 素; 所述第二頁(yè)面聲音控制單元,具體用于通過控制所述每個(gè)頁(yè)面中各自嵌入的播放
器控件元素,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的控制。 具體實(shí)現(xiàn)時(shí),所述播放器控件獲知單元包括 查詢子單元,用于查詢頁(yè)面的文檔對(duì)象模型,獲取標(biāo)簽名稱是對(duì)象的頁(yè)面元素的 ClassID ^ 確定子單元,用于將ClassID符合預(yù)置條件的頁(yè)面元素確定為嵌入的播放器控件 元素。 所述第二頁(yè)面聲音控制單元具體用于通過所述特定頁(yè)面中嵌入的播放器控件元 素對(duì)外提供的用于聲音控制的接口 ,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
同樣,可以對(duì)瀏覽器中的聲音進(jìn)行半自動(dòng)的控制,此時(shí),該系統(tǒng)還包括
控制入口提供單元,用于向用戶提供控制入口 ; 所述第二頁(yè)面聲音控制單元,具體用于通過所述控制入口接收到用戶的指令后,
按照用戶指令對(duì)瀏覽器中特定頁(yè)面中的聲音進(jìn)行對(duì)應(yīng)的控制。 另外,還包括
19
提示單元,用于在具有所述聲音的頁(yè)面所在的窗口中顯示本頁(yè)面具有聲音的提示 標(biāo)識(shí)。 當(dāng)然,也可以對(duì)瀏覽器中的聲音進(jìn)行半自動(dòng)的控制,此時(shí),所述第二頁(yè)面聲音控制 單元包括 自動(dòng)控制子單元,用于僅當(dāng)所述瀏覽器中的聲音所在的頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開 啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的 開啟或關(guān)閉。 本發(fā)明實(shí)施例中所描述的系統(tǒng)和方法適用于各種網(wǎng)絡(luò)或客戶端環(huán)境中,例如可以 實(shí)現(xiàn)在諸如個(gè)人計(jì)算機(jī)設(shè)備之類的計(jì)算機(jī)設(shè)備中,或者可以實(shí)現(xiàn)在諸如移動(dòng)電話、移動(dòng)通 信設(shè)備、個(gè)人數(shù)字助理(PDA)等其他電子設(shè)備中。 以上對(duì)本發(fā)明所提供的一種對(duì)瀏覽器中的聲音進(jìn)行控制的方法及系統(tǒng),進(jìn)行了詳 細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō) 明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù) 本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書內(nèi)容不 應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
一種對(duì)瀏覽器中的聲音進(jìn)行控制的方法,其特征在于,包括獲知頁(yè)面中的聲音所在線程;通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則,所述獲知頁(yè)面中的聲音所在的線程包括獲知每個(gè)頁(yè)面中的聲音各自所在的線程;所述通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括通過控制所述每個(gè)頁(yè)面中的聲音各自所在的線程,對(duì)瀏覽器中處于不同頁(yè)面中的聲音分別進(jìn)行獨(dú)立的控制。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲知頁(yè)面中的聲音所在線程包括當(dāng)播放聲音的函數(shù)被調(diào)用時(shí),獲取調(diào)用所述播放聲音的函數(shù)的線程的標(biāo)識(shí),將所述標(biāo)識(shí)對(duì)應(yīng)的線程確定為聲音所在線程;根據(jù)所述標(biāo)識(shí)確定創(chuàng)建該聲音所在線程的頁(yè)面,將該聲音所在線程確定為該頁(yè)面中的聲音所在線程。
4. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括通過修改特定頁(yè)面中的聲音所在線程調(diào)用的用于播放聲音的函數(shù),對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制;或者,通過中斷特定頁(yè)面中的聲音所在線程對(duì)用于播放聲音的函數(shù)的調(diào)用,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制;或者,通過掛起特定頁(yè)面中的聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制。
5. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,還包括向用戶提供控制入□;所述對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括在通過所述控制入口接收到用戶的指令后,按照用戶指令對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
6. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括僅當(dāng)所述特定頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。
7. —種對(duì)瀏覽器中的聲音進(jìn)行控制的系統(tǒng),其特征在于,包括線程獲知單元,用于獲知頁(yè)面中的聲音所在線程;第一頁(yè)面聲音控制單元,用于通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
8. 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,如果所述瀏覽器中的聲音包括兩種以上的聲音,則所述線程獲知單元,具體用于獲知每個(gè)頁(yè)面中的聲音各自所在的線程;所述第一頁(yè)面聲音控制單元,具體用于通過控制所述每個(gè)頁(yè)面中的聲音各自所在的線程,對(duì)瀏覽器中處于不同頁(yè)面中的聲音分別進(jìn)行獨(dú)立的控制。
9. 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述線程獲知單元包括線程確定單元,用于當(dāng)播放聲音的函數(shù)被調(diào)用時(shí),獲取調(diào)用所述播放聲音的函數(shù)的線 程的標(biāo)識(shí),將所述標(biāo)識(shí)對(duì)應(yīng)的線程確定為聲音所在線程;線程分析單元,用于根據(jù)所述標(biāo)識(shí)確定創(chuàng)建該聲音所在線程的頁(yè)面,將該聲音所在線程確定為該頁(yè)面中的聲音所在線程。
10. 根據(jù)權(quán)利要求7至9任一項(xiàng)所述的系統(tǒng),其特征在于,所述第一頁(yè)面聲音控制單元包括函數(shù)修改子單元,用于通過修改特定頁(yè)面中的聲音所在線程調(diào)用的用于播放聲音的函數(shù),對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制;或者,調(diào)用中斷子單元,用于通過中斷特定頁(yè)面中的聲音所在線程對(duì)用于播放聲音的函數(shù)的調(diào)用,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制;或者,線程掛起子單元,用于通過掛起特定頁(yè)面中的聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行靜音控制。
11. 根據(jù)權(quán)利要求7至9任一項(xiàng)所述的系統(tǒng),其特征在于,還包括控制入口提供單元,用于向用戶提供控制入口 ;所述第一頁(yè)面聲音控制單元,具體用于通過所述控制入口接收到用戶的指令后,按照用戶指令對(duì)瀏覽器中特定頁(yè)面中的聲音進(jìn)行對(duì)應(yīng)的控制。
12. 根據(jù)權(quán)利要求7至9任一項(xiàng)所述的系統(tǒng),其特征在于,還包括提示單元,用于在具有所述聲音的頁(yè)面所在的窗口中顯示本頁(yè)面具有聲音的提示標(biāo)識(shí)。
13. 根據(jù)權(quán)利要求7至9任一項(xiàng)所述的系統(tǒng),其特征在于,所述第一頁(yè)面聲音控制單元包括自動(dòng)控制子單元,用于僅當(dāng)所述瀏覽器中的聲音所在的頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。
14. 一種對(duì)瀏覽器中的聲音進(jìn)行控制的方法,其特征在于,包括獲知瀏覽器中特定頁(yè)面中嵌入的播放器控件元素;通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
15. 根據(jù)權(quán)利要求14所述的方法,其特征在于,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則,所述獲知頁(yè)面中嵌入的播放器控件元素包括獲知每個(gè)頁(yè)面中各自嵌入的播放器控件元素;所述通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括通過控制所述每個(gè)頁(yè)面中各自嵌入的播放器控件元素,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的控制。
16. 根據(jù)權(quán)利要求14所述的方法,其特征在于,所述通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括調(diào)用所述特定頁(yè)面中嵌入的播放器控件元素對(duì)外提供的用于聲音控制的接口 ,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
17. 根據(jù)權(quán)利要求14至16任一項(xiàng)所述的方法,其特征在于,所述通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制包括僅當(dāng)所述特定頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。
18. —種對(duì)瀏覽器中的聲音進(jìn)行控制的系統(tǒng),其特征在于,包括播放器控件獲知單元,用于獲知瀏覽器中特定頁(yè)面中嵌入的播放器控件元素;第二頁(yè)面聲音控制單元,用于通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
19. 根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,如果所述瀏覽器中至少兩個(gè)頁(yè)面中存在聲音,則,所述播放器控件獲知單元,具體用于獲知每個(gè)頁(yè)面中各自嵌入的播放器控件元素;所述第二頁(yè)面聲音控制單元,具體用于通過控制所述每個(gè)頁(yè)面中各自嵌入的播放器控件元素,對(duì)瀏覽器中處于不同頁(yè)面中的各種聲音分別進(jìn)行獨(dú)立的控制。
20. 根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,所述播放器控件獲知單元包括查詢子單元,用于查詢頁(yè)面的文檔對(duì)象模型,獲取標(biāo)簽名稱是對(duì)象的頁(yè)面元素的ClassID ^確定子單元,用于將ClassID符合預(yù)置條件的頁(yè)面元素確定為嵌入的播放器控件元素。
21. 根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,所述第二頁(yè)面聲音控制單元具體用于調(diào)用所述特定頁(yè)面中嵌入的播放器控件元素對(duì)外提供的用于聲音控制的接口,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。
22. 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的系統(tǒng),其特征在于,還包括控制入口提供單元,用于向用戶提供控制入口 ;所述第二頁(yè)面聲音控制單元,具體用于通過所述控制入口接收到用戶的指令后,按照用戶指令對(duì)瀏覽器中特定頁(yè)面中的聲音進(jìn)行對(duì)應(yīng)的控制。
23. 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的系統(tǒng),其特征在于,還包括提示單元,用于在具有所述聲音的頁(yè)面所在的窗口中顯示本頁(yè)面具有聲音的提示標(biāo)識(shí)。
24. 根據(jù)權(quán)利要求18至21任一項(xiàng)所述的系統(tǒng),其特征在于,所述第二頁(yè)面聲音控制單元包括自動(dòng)控制子單元,用于僅當(dāng)所述瀏覽器中的聲音所在的頁(yè)面處于焦點(diǎn)狀態(tài)時(shí),開啟該頁(yè)面中的聲音,否則,將該頁(yè)面中的聲音關(guān)閉;當(dāng)進(jìn)行頁(yè)面切換時(shí),切換頁(yè)面中聲音的開啟或關(guān)閉。
全文摘要
本發(fā)明公開了一種對(duì)瀏覽器中的聲音進(jìn)行控制的方法及系統(tǒng),其中,所述對(duì)瀏覽器中的聲音進(jìn)行控制的方法包括獲知頁(yè)面中的聲音所在線程;通過控制所述聲音所在線程,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。或者,獲知瀏覽器中特定頁(yè)面中嵌入的播放器控件元素;通過控制所述播放器控件元素,對(duì)所述瀏覽器中特定頁(yè)面中的聲音進(jìn)行控制。通過本發(fā)明,能夠獲知聲音與頁(yè)面的對(duì)應(yīng)關(guān)系,基于頁(yè)面對(duì)瀏覽器中的聲音進(jìn)行靈活地控制。
文檔編號(hào)G06F9/46GK101789001SQ20091026208
公開日2010年7月28日 申請(qǐng)日期2009年12月23日 優(yōu)先權(quán)日2009年4月30日
發(fā)明者萬(wàn)勇 申請(qǐng)人:北京搜狗科技發(fā)展有限公司