專利名稱:一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法
一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法。
技術(shù)背景
隨著互聯(lián)網(wǎng)軟、硬件的發(fā)展,人們在日常交流中越來越多地使用多媒體技術(shù), 比如手機(jī)、電話、視頻會(huì)議等,尤其基于計(jì)算機(jī)的視頻通訊技術(shù)更是備受青睞。目前, 視頻通訊多數(shù)需要下載安裝軟件,當(dāng)然也有一些產(chǎn)品可以在網(wǎng)頁上實(shí)現(xiàn)視頻通訊。但現(xiàn) 有技術(shù)存在一個(gè)嚴(yán)重的不足之處,即沒有一個(gè)安全、徹底的關(guān)閉攝像頭的方法。例如, 用戶在一臺計(jì)算機(jī)上使用攝像頭后,進(jìn)行關(guān)閉攝像頭操作后,再使用時(shí)會(huì)出現(xiàn)攝像頭被 占用的情況。如果是有提示燈的攝像頭,用戶已經(jīng)結(jié)束視頻通話后,會(huì)出現(xiàn)攝像頭提示 燈依然處于開啟狀態(tài)的情況,也就是說,只要用戶沒有完全關(guān)閉所有與打開攝像頭過程 相關(guān)的網(wǎng)頁,攝像頭就依然在讀取本地影像,并且有可能將本地影像繼續(xù)發(fā)送到其它網(wǎng) 絡(luò)端。出現(xiàn)這種情況是因?yàn)橥ㄟ^網(wǎng)頁插件調(diào)用本地?cái)z像頭時(shí),網(wǎng)頁插件在瀏覽器加載時(shí) 處于共享使用狀態(tài),即同一進(jìn)程打開的各網(wǎng)頁共享一個(gè)控件。此時(shí),用戶關(guān)閉其中一個(gè) 網(wǎng)頁,原網(wǎng)頁仍處于開啟狀態(tài),從而導(dǎo)致攝像頭沒有徹底關(guān)閉。用戶在視頻通話過程 中,攝像頭往外發(fā)布的影像流一直處于發(fā)布狀態(tài),如果攝像頭不能有效關(guān)閉,極易泄露 用戶的隱私。尤其在遠(yuǎn)程教育、視頻會(huì)議等互聯(lián)網(wǎng)應(yīng)用中,這個(gè)不足將嚴(yán)重危及用戶的 個(gè)人信息安全,影響用戶體驗(yàn)和使用互聯(lián)網(wǎng)產(chǎn)品的積極性。
一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,旨在解決現(xiàn)階段通過網(wǎng)頁調(diào)用本地?cái)z像頭 并使用后,攝像頭不能及時(shí)、有效關(guān)閉的問題。此項(xiàng)技術(shù)無需下載任何控件,無需第三 方應(yīng)用框架和應(yīng)用系統(tǒng)的支撐,原理簡單,完全基于網(wǎng)頁本身控件實(shí)現(xiàn),安全、方便、 快捷,是一種真正意義上能夠普及大眾的技術(shù)。發(fā)明內(nèi)容
本發(fā)明的目的是提供一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案為一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方 法,包括以下步驟
1)源用戶打開本站網(wǎng)頁,網(wǎng)頁加載Flash插件,F(xiàn)lash插件調(diào)用本地?cái)z像頭;
2)用戶點(diǎn)擊關(guān)閉攝像頭或者關(guān)閉頁面等關(guān)閉攝像頭處理操作時(shí),自動(dòng)調(diào)用網(wǎng)頁 函數(shù)進(jìn)行延時(shí)處理,對攝像頭關(guān)閉成功狀態(tài)進(jìn)行循環(huán)檢測,使網(wǎng)頁處于等待攝像頭成功 關(guān)閉狀態(tài);
3)網(wǎng)頁調(diào)用Flash相關(guān)的API,對攝像頭進(jìn)行關(guān)閉處理,將攝像頭徹底關(guān)閉,并 修改網(wǎng)頁攝像頭關(guān)閉狀態(tài)為成功;
4)網(wǎng)頁延時(shí)函數(shù)檢測到攝像頭成功關(guān)閉狀態(tài)后自動(dòng)退出循環(huán)等待狀態(tài),并進(jìn)行 頁面關(guān)閉等網(wǎng)頁后續(xù)相應(yīng)處理,從而實(shí)現(xiàn)基于網(wǎng)頁攝像頭關(guān)閉。
上述技術(shù)方案中,步驟1)包含如下過程
la)源用戶打開本站網(wǎng)頁,網(wǎng)頁自動(dòng)加載Flash插件,當(dāng)Flash插件通過調(diào)用 Camera.getCamera方法打開本地?cái)z像頭,此時(shí)將打開的攝像頭對象放入攝像頭數(shù)組變量 中;
lb)攝像頭打開后,當(dāng)Flash調(diào)用NetStream對攝像頭影像流進(jìn)行發(fā)布、接 收、錄制等操作時(shí),將所操作的NetStream和NetConnection對象分別放入NetStream和 NetConnection數(shù)組變量中。
上述技術(shù)方案中,步驟幻包含如下過程
用戶點(diǎn)擊關(guān)閉攝像頭或者關(guān)閉頁面等可以關(guān)閉攝像頭的操作時(shí),網(wǎng)頁自動(dòng)調(diào)用 JavaScript延時(shí)處理函數(shù),通過循環(huán)或者遞歸加狀態(tài)判斷方式,讓頁面一直等待攝像頭成 功關(guān)閉狀態(tài)更改。
上述技術(shù)方案中,步驟幻包含如下過程
3a)網(wǎng)頁通過 JavaScript 函數(shù)調(diào)用 Flash 通過 Externallnterface.addCallback 注冊的攝像頭關(guān)閉方法;
3b) Flash接收到JavaScript的關(guān)閉攝像頭指令后,首先對已經(jīng)存在的NetStream數(shù) 組進(jìn)行遍歷操作,對數(shù)組中的每一個(gè)NetStream對象進(jìn)行清理操作,主要調(diào)用NetStream 對象的attachAudio方法傳入null、attachAudioCamera方法傳入null、publish方法傳入發(fā) 布時(shí)的鍵值、play方法傳入接收時(shí)的鍵值、close方法,并將此NetStream方法置為null ;
3c)對NetConnection數(shù)組進(jìn)行遍歷操作,對數(shù)組中的每一個(gè)NetConnection對象 進(jìn)行清理操作,主要調(diào)用NetConnection對象的close方法,并將此NetConnection方法置 為 null ;
3d)將攝像頭對象置為null,將調(diào)用Camera.getCamera方法傳入null,調(diào)用攝像 頭顯示控件的attachCamera方法傳入null、clear方法,并且調(diào)用Flash的removeChild方 法從Flash中移除攝像頭顯示控件,調(diào)用Flash的Extemallnterface.call方法更改網(wǎng)頁攝像 頭關(guān)閉狀態(tài)狀態(tài)為true ;
上述技術(shù)方案中,步驟4)包含如下過程
JavaScript延時(shí)處理函數(shù)檢測到網(wǎng)頁攝像頭關(guān)閉狀態(tài)為true時(shí),通過break關(guān)鍵字跳出循環(huán)或者遞歸,從而停止網(wǎng)頁等待狀態(tài),讓網(wǎng)頁繼續(xù)進(jìn)行網(wǎng)頁關(guān)閉等其它處理操 作,此時(shí)攝像頭已經(jīng)被徹底關(guān)閉。
本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn)
1)完全基于網(wǎng)頁進(jìn)行實(shí)現(xiàn),安全、快捷、高效。
2)利用網(wǎng)頁與Flash自身的交互機(jī)制,調(diào)用方便,過程反饋及時(shí),能夠確保已經(jīng) 完整關(guān)閉攝像頭。
3)采用對攝像頭的所有痕跡進(jìn)行記錄和掃描處理,確保攝像頭的每一步操作都 能夠被準(zhǔn)確監(jiān)控,徹底避免關(guān)閉時(shí)漏掉的情況,以杜絕出現(xiàn)用戶隱私通過攝像頭泄露問 題的發(fā)生,確保隱私安全,并且可以有效防止攝像頭被無故占用。
4)實(shí)現(xiàn)原理簡單,完全基于網(wǎng)頁,不需要下載任何插件,綠色、環(huán)保,可廣泛 運(yùn)用于網(wǎng)絡(luò)會(huì)議、遠(yuǎn)程教育等互聯(lián)網(wǎng)應(yīng)用中。
說明書附圖是本發(fā)明的詳細(xì)流程圖。
具體實(shí)施方式
一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,包括以下步驟
1)源用戶打開本站網(wǎng)頁,網(wǎng)頁加載Flash插件,F(xiàn)lash插件調(diào)用本地?cái)z像頭。
2)用戶點(diǎn)擊關(guān)閉攝像頭或者關(guān)閉頁面等關(guān)閉攝像頭處理操作時(shí),自動(dòng)調(diào)用網(wǎng)頁 函數(shù)進(jìn)行延時(shí)處理,對攝像頭關(guān)閉成功狀態(tài)進(jìn)行循環(huán)檢測,使網(wǎng)頁處于等待攝像頭成功 關(guān)閉狀態(tài);
3)網(wǎng)頁調(diào)用Flash相關(guān)的API,對攝像頭進(jìn)行關(guān)閉處理,將攝像頭徹底關(guān)閉,并 修改網(wǎng)頁攝像頭關(guān)閉狀態(tài)為成功;
4)網(wǎng)頁延時(shí)函數(shù)檢測到攝像頭成功關(guān)閉狀態(tài)后自動(dòng)退出循環(huán)等待狀態(tài),并進(jìn)行 頁面關(guān)閉等網(wǎng)頁后續(xù)相應(yīng)處理,從而實(shí)現(xiàn)基于網(wǎng)頁攝像頭關(guān)閉。
下面進(jìn)一步詳細(xì)說明本發(fā)明所述的方法
參見說明書附圖,源用戶打開本站網(wǎng)頁,網(wǎng)頁自動(dòng)加載Flash插件,當(dāng)Flash插 件通過調(diào)用Camera.getCamera方法打開本地?cái)z像頭,此時(shí)將打開的攝像頭對象放入攝 像頭數(shù)組變量中;攝像頭打開后,當(dāng)Flash調(diào)用NetStream對攝像頭影像流進(jìn)行發(fā)布、 接收、錄制等操作時(shí),將所操作的NetStream和NetConnection對象分別放入NetStream 和NetCoimection數(shù)組變量中;用戶點(diǎn)擊關(guān)閉攝像頭或者關(guān)閉頁面等可以關(guān)閉攝像頭 的操作時(shí),網(wǎng)頁自動(dòng)調(diào)用JavaScript延時(shí)處理函數(shù),通過循環(huán)或者遞歸加狀態(tài)判斷方 式,讓頁面一直等待攝像頭成功關(guān)閉狀態(tài)更改;網(wǎng)頁通過JavaScript函數(shù)調(diào)用Flash通 過ExtemalbiterfacejddCalftack注冊的攝像頭關(guān)閉方法;Flash接收到JavaScript的關(guān) 閉攝像頭指令后,首先對已經(jīng)存在的NetStream數(shù)組進(jìn)行遍歷操作,對數(shù)組中的每一個(gè) NetStream對象進(jìn)行清理操作,主要調(diào)用NetStream對象的attachAudio方法傳入null、 attachAudioCamera方法傳入null、publish方法傳入發(fā)布時(shí)的鍵值、play方法傳入接收時(shí) 的鍵值、close方法,并將此NetStream方法置為null ;對NetConnection數(shù)組進(jìn)行遍歷操 作,對數(shù)組中的每一個(gè)NetConnection對象進(jìn)行清理操作,主要調(diào)用NetConnection對象的 close方法,并將此NetConnection方法置為null ;將攝像頭對象置為null,將調(diào)用Camera. getCamera方法傳入null,調(diào)用攝像頭顯示控件的attachCamera方法傳入null、clear方 法,并且調(diào)用Flash的removeChild方法從Flash中移除攝像頭顯示控件,調(diào)用Flash的 Externallnterface.call方法更改網(wǎng)頁攝像頭關(guān)閉狀態(tài)狀態(tài)為tae ; JavaScript延時(shí)處理函數(shù) 檢測到網(wǎng)頁攝像頭關(guān)閉狀態(tài)為true時(shí),通過break關(guān)鍵字跳出循環(huán)或者遞歸,從而停止網(wǎng) 頁等待狀態(tài),讓網(wǎng)頁繼續(xù)進(jìn)行網(wǎng)頁關(guān)閉等其它處理操作,此時(shí)攝像頭已經(jīng)被徹底關(guān)閉。
權(quán)利要求
1.一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,其特征在于,包括以下步驟1)源用戶打開本站網(wǎng)頁,網(wǎng)頁加載Flash插件,F(xiàn)lash插件調(diào)用本地?cái)z像頭;2)用戶點(diǎn)擊關(guān)閉攝像頭或者關(guān)閉頁面等關(guān)閉攝像頭處理操作時(shí),自動(dòng)調(diào)用網(wǎng)頁函數(shù) 進(jìn)行延時(shí)處理,對攝像頭關(guān)閉成功狀態(tài)進(jìn)行循環(huán)檢測,使網(wǎng)頁處于等待攝像頭成功關(guān)閉 狀態(tài);3)網(wǎng)頁調(diào)用Flash相關(guān)的API,對攝像頭進(jìn)行關(guān)閉處理,將攝像頭徹底關(guān)閉,并修改 網(wǎng)頁攝像頭關(guān)閉狀態(tài)為成功;4)網(wǎng)頁延時(shí)函數(shù)檢測到攝像頭成功關(guān)閉狀態(tài)后自動(dòng)退出循環(huán)等待狀態(tài),并進(jìn)行頁面 關(guān)閉等網(wǎng)頁后續(xù)相應(yīng)處理,從而實(shí)現(xiàn)基于網(wǎng)頁攝像頭關(guān)閉。
2.如權(quán)利要求1所述的一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,其特征在于,其中步驟1)包含如下過程la)源用戶打開本站網(wǎng)頁,網(wǎng)頁自動(dòng)加載Flash插件,當(dāng)Flash插件通過調(diào)用Camera. getCamera方法打開本地?cái)z像頭,此時(shí)將打開的攝像頭對象放入攝像頭數(shù)組變量中;lb)攝像頭打開后,當(dāng)Flash調(diào)用NetStream對攝像頭影像流進(jìn)行發(fā)布、接收、錄制等 操作時(shí),將所操作的NetStream和NetConnection對象分別放入NetStream和NetConnection數(shù)組變量中。
3.如權(quán)利要求1所述的一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,其特征在于,其中步驟2)包含如下過程用戶點(diǎn)擊關(guān)閉攝像頭或者關(guān)閉頁面等可以關(guān)閉攝像頭的操作時(shí),網(wǎng)頁自動(dòng)調(diào)用 JavaScript延時(shí)處理函數(shù),通過循環(huán)或者遞歸加狀態(tài)判斷方式,讓頁面一直等待攝像頭成 功關(guān)閉狀態(tài)更改。
4.如權(quán)利要求1所述的一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,其特征在于,其中步驟3)包含如下過程3a)網(wǎng)頁通過JavaScript函數(shù)調(diào)用Flash通過Extemallnterface.addCallback注冊的攝像頭關(guān)閉方法;3b) Flash接收到JavaScript的關(guān)閉攝像頭指令后,首先對已經(jīng)存在的NetStream數(shù)組 進(jìn)行遍歷操作,對數(shù)組中的每一個(gè)NetStream對象進(jìn)行清理操作,主要調(diào)用NetStream對 象的attachAudio方法傳入null、attachAudioCamera方法傳入null、publish方法傳入發(fā)布 時(shí)的鍵值、play方法傳入接收時(shí)的鍵值、close方法,并將此NetStream方法置為null ;3c)對NetConnection數(shù)組進(jìn)行遍歷操作,對數(shù)組中的每一個(gè)NetConnection對象進(jìn) 行清理操作,主要調(diào)用NetConnection對象的close方法,并將此NetConnection方法置為 null ;3d)將攝像頭對象置為null,將調(diào)用Camera.getCamera方法傳入null,調(diào)用攝像頭顯 示控件的attachCamera方法傳入null、clear方法,并且調(diào)用Flash的removeChild方法從 Flash中移除攝像頭顯示控件,調(diào)用Flash的Extemallnterface.call方法更改網(wǎng)頁攝像頭關(guān)閉 狀態(tài)狀態(tài)為true。
5.如權(quán)利要求1所述的一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,其特征在于,其中步驟4)包含如下過程JavaScript延時(shí)處理函數(shù)檢測到網(wǎng)頁攝像頭關(guān)閉狀態(tài)為true時(shí),通過break關(guān)鍵字跳出循環(huán)或者遞歸,從而停止網(wǎng)頁等待狀態(tài),讓網(wǎng)頁繼續(xù)進(jìn)行網(wǎng)頁關(guān)閉等其它處理操作,此 時(shí)攝像頭已經(jīng)被徹底關(guān)閉。
全文摘要
本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種網(wǎng)頁上實(shí)現(xiàn)攝像頭關(guān)閉的方法,包括以下步驟源用戶打開本站網(wǎng)頁,網(wǎng)頁加載Flash插件,F(xiàn)lash調(diào)用相關(guān)API打開攝像頭,用戶在需要對網(wǎng)頁使用中的攝像頭進(jìn)行關(guān)閉操作時(shí),用戶點(diǎn)擊關(guān)閉攝像頭相關(guān)功能或者關(guān)閉頁面等操作,網(wǎng)頁采用循環(huán)方式等待攝像頭狀態(tài)成功狀態(tài)更改,并調(diào)用Flash相關(guān)API,對攝像頭進(jìn)行關(guān)閉處理,關(guān)閉成功后更改關(guān)閉成功狀態(tài),網(wǎng)頁檢測到狀態(tài)后,自動(dòng)退出循環(huán)等待以進(jìn)行后續(xù)處理,從而實(shí)現(xiàn)攝像頭關(guān)閉。該方法能完全基于網(wǎng)頁實(shí)現(xiàn),無需第三方應(yīng)用系統(tǒng)的支撐,能有效防止攝像頭被無故占用,確保用戶隱私安全,方便、快捷、高效。
文檔編號G06F9/44GK102023860SQ20101057644
公開日2011年4月20日 申請日期2010年12月7日 優(yōu)先權(quán)日2010年12月7日
發(fā)明者胡加明 申請人:蘇州闊地網(wǎng)絡(luò)科技有限公司