專利名稱:數(shù)字視頻中的拖拽截屏方法及可以執(zhí)行視頻拖拽截屏的播放裝置的制作方法
技術(shù)領域:
本發(fā)明涉及一種視頻截屏的方法及可以執(zhí)行視頻截屏的播放裝置,特別是涉及在數(shù)字視頻中采用輸入設備,進行拖拽截屏的方法及裝置,屬于電子信息類領域。
背景技術(shù):
信息技術(shù)的高速發(fā)展,給社會的生產(chǎn)生活帶來了巨大的變化,數(shù)字視頻技術(shù)在各個領域上的運用也日趨普及與完善。在現(xiàn)有技術(shù)中,關(guān)于視頻截屏技術(shù)已經(jīng)取得了相當?shù)倪M展。但現(xiàn)有技術(shù)關(guān)注的需要解決的技術(shù)問題在于如何在技術(shù)上解決了畫面截取時的時滯問題的同時,保證了精確獲取用戶所需的目標畫面的要求。盡管如此,現(xiàn)有技術(shù)中還存在著一些不盡如人意的地方,用戶想要進行視頻截圖,需要完成如下幾個步驟,用鼠標點擊截屏按鈕;在播放器的設置文件夾中找到的截圖文件;將截圖文件剪切到目標文件夾中。雖然通過上述步驟可以完成畫面的截圖,但此時用戶是看不到截圖的預覽圖的,如果需要判斷截圖的效果,還必須先打開截圖文件。這使得用戶在很多時候因為所截的圖片不滿意而不得不重新操作。因此,如果能夠?qū)Υ思右愿纳?,使得截圖處理的過程中,伴隨著預覽圖,可以方便用戶準確快速地留下其所需要的畫面,提高工作效率,則會更有力地促進視頻技術(shù) 的普及應用。
發(fā)明內(nèi)容
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明要解決的技術(shù)問題是,提出一種視頻截屏的方法及可以執(zhí)行視頻截屏的播放裝置,采用本發(fā)明在截屏的過程中,使得界面出現(xiàn)截屏縮略圖,通過拖拽這個縮略圖將其源文件保存到的目標存儲區(qū)中。本發(fā)明所述方法的技術(shù)方案是這樣的一種視頻截屏的方法,其包括下列步驟步驟一,接收截屏操作信息;步驟二,獲取截屏數(shù)據(jù);步驟三,將截屏數(shù)據(jù)復制到臨時存儲區(qū)域中且保存臨時路徑,所述臨時路徑為臨時存儲區(qū)域的路徑,并產(chǎn)生一個包括縮略圖的圖片;步驟四,將截屏數(shù)據(jù)的位圖句柄、拖拽格式以及圖片絕對路徑信息初始化給COM組件,步驟五,確定目標存儲區(qū)域后,將臨時存儲區(qū)域的圖片拷貝至目標存儲區(qū)域。本發(fā)明所述的方法還包括將縮略圖的位圖句柄和臨時路徑初始化到拖拽接口中,利用拖拽接口,縮略圖隨著輸入設備的指令而移動;本發(fā)明所述方法進一步包括通過將縮略圖移動到目標文件夾來確定目標存儲區(qū)域;本發(fā)明所述方法進一步包括有條件地刪除所述臨時存儲區(qū)域中的數(shù)據(jù)。
如上所述的本發(fā)明方法,其中,所述縮略圖是通過Gdi+提供的Api來產(chǎn)生的。本發(fā)明還提供了一種可以執(zhí)行視頻截屏的播放裝置,其包括用戶接口模塊、播放模塊及COM模塊,其中用戶接口模塊用于響應于外部輸入設備接收的截屏操作信息;所述用戶接口模塊包括轉(zhuǎn)換單元,其調(diào)用所述播放模塊提供的接口,以得到截圖的內(nèi)存數(shù)據(jù),所述用戶接口模塊將截屏數(shù)據(jù)復制到外部存儲設備的臨時存儲區(qū)域且保存臨時路徑,所述臨時路徑為臨時存儲區(qū)域的路徑,并產(chǎn)生一個包括縮略圖的圖片;所述用戶接口模塊還包括將截屏數(shù)據(jù)的位圖句柄、拖拽格式以及圖片絕對路徑信息初始化給COM組件的初始化單元,確定目標存儲區(qū)域后,用戶接口模塊將保存在所述臨時存儲區(qū)域的中的對應于縮略圖的截屏數(shù)據(jù)復制到所述目標存儲區(qū)域中。 本發(fā)明所述的裝置進一步包括拖拽接口,用戶接口模塊還縮略圖的位圖句柄和所述臨時路徑初始化到所述COM模塊的拖拽接口中,所述拖拽接口其用于使縮略圖隨著外部輸入設備的指令而移動。本發(fā)明所述的裝置,所述拖拽接口通過將縮略圖移動到目標文件夾來確定目標存儲區(qū)域。本發(fā)明所述的裝置,其還在于所述縮略圖是通過Gdi+提供的API來產(chǎn)生的。本發(fā)明所述的裝置,其還在于所述用戶接口模塊包括移除單元,其用于有條件的移除臨時存儲區(qū)域圖片。本發(fā)明所述的視頻截屏方法及可以執(zhí)行視頻截屏的播放裝置,可以縮減原來的繁瑣的操作步驟,而且可以通過預覽圖,決定是否要保存圖片,大大方便了用戶。此外,在不影響視頻播放的前提下,本發(fā)明對電腦上正在播放的視頻能實現(xiàn)快速截屏且方便保存的,同時還可以預覽截屏效果及避免時滯。
圖I是本發(fā)明所述視頻截屏方法的一個具體流程圖;圖2是本發(fā)明所述可以執(zhí)行視頻截屏的播放裝置的示意圖,其為本發(fā)明所述方法提供硬件環(huán)境;圖3是本發(fā)明所述的可以執(zhí)行視頻截屏的播放裝置的具體實施例。
具體實施例方式下面結(jié)合附圖,具體介紹本發(fā)明所述方法的工作原理。本發(fā)明的基本做法是啟動播放裝置的用戶界面后,用戶接口 n模塊,即UserInterface模塊(以下稱n模塊),接收來自外部輸入設備的操作信息;若該信息指示開始截屏,則調(diào)用播放模塊提供的接口,UI模塊將截屏數(shù)據(jù)復制到外部存儲設備的臨時存儲區(qū)域(例如,臨時文件夾)中且保存臨時存儲區(qū)域的路徑(臨時路徑),并產(chǎn)生一個縮略圖(即預覽圖)WI模塊將截屏數(shù)據(jù)的位圖句柄、拖拽格式以及圖片絕對路徑信息初始化給COM組件,確定目標存儲區(qū)域后,UI模塊將截屏數(shù)據(jù)復制到目標存儲區(qū)域中;UI模塊還將縮略圖的位圖句柄和臨時路徑初始化到COM的拖拽接口中。在截屏數(shù)據(jù)復制到目標存儲區(qū)域,UI模塊的移除單元刪除臨時存儲區(qū)域的數(shù)據(jù);用戶還可以設定移除條件,當用戶放棄保存截圖時,可立即移除臨時存儲區(qū)域中保存的截屏數(shù)據(jù),例如,在臨時文件存入設定數(shù)量的截圖時或每隔一定的時間,刪除臨時存儲區(qū)域中保存的截屏數(shù)據(jù)。本發(fā)明所述可以執(zhí)行視頻截屏的播放裝置如圖2所示,輸入設備接收用戶的截屏操作指令,例如,用戶可以在播放器的用戶界面下,左鍵單擊鼠標。輸入設備將截屏操作信息發(fā)送給n模塊,n模塊驗證是否截屏流程是否已被激活。用戶可以通過輸入設備來激活截屏流程。例如,用戶可以鍵盤的組合鍵(例如Ctrl/Alt/Shift..)激活截屏流程,以使截屏功能處于可用的狀態(tài)。截屏流程已被激活的狀態(tài)下,n模塊的轉(zhuǎn)換單元調(diào)用播放 模塊提供的接口得到截圖的內(nèi)存數(shù)據(jù)。截屏流程未激活的狀態(tài)下,UI模塊控制播放器界面的移動。UI模塊將的轉(zhuǎn)換單元將截屏數(shù)據(jù)復制到臨時存儲區(qū)域中且保存臨時存 儲區(qū)域的路徑(臨時路徑),并通過Gdi+提供的API (應用程序接口)產(chǎn)生一個縮略圖,其中,⑶I+是Windows XP中的一個子系統(tǒng),它主要負責在顯示屏幕和打印設備輸出有關(guān)信息,它是一組通過C++類實現(xiàn)的應用程序編程接口。⑶I+是以前版本⑶I的繼承者,Windows XP仍然支持以前版本的GDI,但是在開發(fā)新應用程序的時候,開發(fā)人員為了滿足圖形輸出需要應該使用⑶I+,因為⑶I+對以前的Windows版本中⑶I進行了優(yōu)化,并添加了許多新的功能。n模塊還包括初始化單元,其將截屏數(shù)據(jù)的位圖句柄、拖拽格式以及圖片絕對路徑信息初始化給COM組件,確定目標存儲區(qū)域后,UI模塊將縮略圖在臨時存儲區(qū)域中保存的源文件(相應的截屏數(shù)據(jù))復制到目標存儲區(qū)域中(例如,通過Explorer完成復制)。UI模塊還將縮略圖的位圖句柄和臨時路徑初始化到COM的拖拽接口中。拖拽接口可以讓縮略圖隨著輸入設備的指令而移動。當縮略圖被移動到外部存儲設備的目標存儲區(qū)域時,確定目標存儲區(qū)域。UI模塊在拖放流程結(jié)束后由刪除單元刪除臨時存儲區(qū)域中的源文件。下面根據(jù)圖1,詳細說明本發(fā)明所述方法的具體執(zhí)行過程。I快捷鍵截屏在步驟101中,用戶在正在播放視頻的播放器中通過輸入設備發(fā)出截屏操作消息時(例如,按下鼠標左鍵),輸入設備將該消息轉(zhuǎn)換為截屏操作指令,并發(fā)送給UI模塊。在步驟102中,n模塊(負責軟件的界面設計及用戶交互)收到該用戶截屏操作指令(例如,WM_LBUTT0ND0WN)后,如果截屏流程已被激活,截屏的指令就會被激活。UI模塊就會調(diào)用播放模塊(負責音視頻文件的播放、調(diào)節(jié)、以及獲取媒體數(shù)據(jù))提供的一個截圖接口,得到截圖的內(nèi)存數(shù)據(jù)。截圖接口的一個實現(xiàn)方式函數(shù)名GetCurrentImage函數(shù)描述獲取當前視頻圖像參數(shù)I :PBYTE*ppbuf,輸出,BITMAPINFOHEADER+ 位圖數(shù)據(jù)返回值成功返回E_QV0D_S_0K,否則為失敗virtual QV0D_ERR0R GetCurrentImage(PBYTE*ppbuf);2預覽圖及臨時文件
在步驟104中,n模塊將從播放模塊得到的截圖的內(nèi)存數(shù)據(jù)復制到硬盤(臨時文件夾)中,作為拷貝源。同時在步驟103中,通過Gdi+提供的Api將內(nèi)存數(shù)據(jù)縮放成一個預覽圖,作為拖拽縮略圖(例如,可以通過鼠標來拖拽)時的跟隨圖片。3初始化拖拽對象在步驟105中,通過COM組件提供的拖放接口,將臨時文件路徑和預覽圖位圖句柄初始化到一個拖拽對象中。為了使目標文件夾最終能生成截圖文件,還需要指定拖拽數(shù)據(jù)的格式,改格式可以為CF_HDR0P (剪貼板拖放)格式。 拖拽接口的一個實現(xiàn)方式函數(shù)名DoDragDrop函數(shù)描述實現(xiàn)整個拖拽流程參數(shù)I :LPCTSTR pzTempPath,輸入,臨時文件的路徑 參數(shù)2:HBITMAP hlmage,輸入,跟隨圖片的位圖句柄返回值成功返回S_0K,否則為失敗HRESULT DoDragDrop(LPCTSTR pzTempPath, HBITMAP hlmage)4 拖拽 在步驟106中,在視頻播放的同時通過輸入設備輸入拖拽指令(例如,拖拽鼠標),截圖的預覽圖也會隨之移動,而這個過程是通過COM而實現(xiàn)的。COM可以初始化拖拽對象的類型、文件路徑及跟隨的圖片,圖片的跟隨是作用在輸入設備的拖拽上,而對拖拽對象類型及文件路徑的初始化會響應給Explorer從而實現(xiàn)保存的過程。COM component (COM組件)是微軟公司為了計算機工業(yè)的軟件生產(chǎn)更加符合人類的行為方式開發(fā)的一種新的軟件開發(fā)技術(shù)。在COM構(gòu)架下,人們可以開發(fā)出各種各樣的功能專一的組件,然后將它們按照需要組合起來,構(gòu)成復雜的應用系統(tǒng)。由此帶來的好處是多方面的可以將系統(tǒng)中的組件用新的替換掉,以便隨時進行系統(tǒng)的升級和定制;可以在多個應用系統(tǒng)中重復利用同一個組件;可以方便的將應用系統(tǒng)擴展到網(wǎng)絡環(huán)境下;C0M與語言,平臺無關(guān)的特性使所有的程序員均可充分發(fā)揮自己的才智與專長編寫組件模塊。5 保存當預覽圖離開視頻而移動到目標文件夾的時候,在步驟107中,UI模塊會將預覽圖的源文件從臨時文件夾復制到目標文件夾,而拷貝的過程可以由Explorer完成。至此整個截屏流程結(jié)束,UI模塊會將臨時文件夾中的圖片文件刪除。下面結(jié)合附圖2,具體介紹本發(fā)明所述裝置的構(gòu)造本發(fā)明提供的可以執(zhí)行視頻截屏的播放裝置包括UI模塊201、播放模塊202、COM模塊203。外部輸入設備300用于接收用戶發(fā)出的操作信息,將該消息轉(zhuǎn)換為相應的操作指令并發(fā)送給n模塊201 ;UI模塊201用于響應于外部輸入設備300接收的截屏操作信息;n模塊201的轉(zhuǎn)換單元214調(diào)用播放模塊202提供的截圖接口 212,以得到存儲設備中截圖的內(nèi)存數(shù)據(jù),轉(zhuǎn)換單元214將截屏數(shù)據(jù)復制到外部存儲設備100的臨時存儲區(qū)域且保存臨時路徑,所述臨時路徑為臨時存儲區(qū)域的路徑,并產(chǎn)生一個縮略圖;同時,UI模塊201的COM組件初始化單元215還將縮略圖的位圖句柄和臨時路徑初始化到COM模塊203的拖拽接口 213中;當組合鍵未激活時,所述n模塊201控制播放器界面的移動。拖拽接口 213使縮略圖隨著輸入設備的指令而移動。UI模塊201的移除單元216在將縮略圖移動到存儲設備100的目標存儲區(qū)域后,將保存在所述臨時存儲區(qū)域的中的對應于縮略圖的截屏數(shù)據(jù)復制到所述目標存儲區(qū)域中,并將所述臨時存儲區(qū)域中的截屏數(shù)據(jù)刪除。UI模塊201通過Gdi+提供的Api來產(chǎn)生縮略圖。
附圖3顯示了本發(fā)明播放裝置的一個具體實施例。圖3中的存儲模塊102、傳輸控制模塊101分別對應圖2中的存儲設備100、輸入設備300。播放裝置400包括COM組件303、播放模塊302、UI模塊301。播放裝置400中的COM組件303、播放模塊302、n模塊301分別對應圖2中COM組件203播放模塊202、M模塊201。播放模塊302中的截屏單元310對應圖2中的截圖接口 212。UI模塊301中的轉(zhuǎn)移單元314、COM組件初始化單元315及移除單元316分別對應圖2中的轉(zhuǎn)換單元214、初始化單元215及移除單元216。COM組件303中的拖拽接口 313對應圖2中的拖拽接口213。播放模塊302包括文件讀取模塊321、產(chǎn)生數(shù)據(jù)請求以及將資源數(shù)據(jù)分類的分離模塊322、音頻解碼模塊323、視頻解碼模塊324以及用于調(diào)度與控制的播放控制器325。該音頻解碼模塊323將解碼的音頻數(shù)據(jù)經(jīng)由音頻渲染模塊326處理后輸出至音頻播放裝置327。該視頻解碼模塊324解碼的視頻幀數(shù)據(jù)經(jīng)由視頻渲染模塊328送至UI模塊301的播放邏輯控制模塊311,并由n模塊301的播放窗口 312呈現(xiàn)給用戶。其中,文件讀取模塊321通過數(shù)據(jù)通訊接口 329從存儲設備102獲取資源數(shù)據(jù)及來自傳輸控制設備101的用戶控制信息。播放音視頻文件時,傳輸控制設備101將收到的資源數(shù)據(jù)保存或者臨時保存在存儲模塊102中,并將保存地址發(fā)送給數(shù)據(jù)通訊接口 329。分離模塊322通過文件讀取模塊321和數(shù)據(jù)通訊接口 329不斷以請求/應答的方式從存儲模塊102讀取資源數(shù)據(jù)。該分離模塊322將資源數(shù)據(jù)分類,將音頻數(shù)據(jù)發(fā)送給音頻解碼模塊323,視頻數(shù)據(jù)發(fā)送給視頻解碼模塊324。視頻解碼模塊324將解析的幀交由渲染模塊326處理后由n模塊301的播放窗口呈現(xiàn)給用戶。本發(fā)明徹底顛覆了以往通過鍵盤截屏和鼠標點擊軟件截屏按鈕截屏的方式的思想,將截屏操作由原來的三四個步驟簡化到一步到位,為用戶節(jié)省了時間,也更加地快捷方便。
權(quán)利要求
1.一種視頻截屏的方法,其特征在于,包括下列步驟 步驟一,接收截屏操作信息; 步驟二,獲取截屏數(shù)據(jù); 步驟三,將截屏數(shù)據(jù)復制到臨時存儲區(qū)域中且保存臨時路徑,所述臨時路徑為所述臨時存儲區(qū)域的路徑,并產(chǎn)生一個包括縮略圖的圖片; 步驟四,將截屏數(shù)據(jù)的位圖句柄、拖拽格式以及圖片絕對路徑信息初始化給COM組件; 步驟五,確定目標存儲區(qū)域后,將保存在臨時存儲區(qū)域中的對應于縮略圖的截屏數(shù)據(jù)復制到目標存儲區(qū)域中。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于將縮略圖的位圖句柄和臨時路徑初始化至IJ所述COM組件的拖拽接口中,利用拖拽接口,使縮略圖隨著輸入設備的指令而移動。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于還包括通過將縮略圖移動到目標文件夾來確定目標存儲區(qū)域。
4.根據(jù)權(quán)利要求I所述的方法,其特征還在于所述縮略圖是通過Gdi+提供的Api來產(chǎn)生的。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于有條件的移除臨時存儲區(qū)域的截屏數(shù)據(jù)。
6.一種可以執(zhí)行視頻截屏的播放裝置,其特征在于,包括用戶接口模塊、播放模塊及COM模塊,其中 所述用戶接口模塊通過外部輸入設備接收截屏操作信息; 所述用戶接口模塊包括轉(zhuǎn)換單元,其調(diào)用所述播放模塊提供的接口,以得到截圖的內(nèi)存數(shù)據(jù),所述轉(zhuǎn)換單元將截屏數(shù)據(jù)復制到外部存儲設備的臨時存儲區(qū)域且保存臨時路徑,所述臨時路徑為所述臨時存儲區(qū)域的路徑,并產(chǎn)生一個包括縮略圖的圖片;同時, 所述用戶接口模塊還包括將截屏數(shù)據(jù)的位圖句柄、拖拽格式以及圖片絕對路徑信息初始化給COM組件的初始化單兀,確定目標存儲區(qū)域后,將保存在臨時存儲區(qū)域中的對應于縮略圖的截屏數(shù)據(jù)復制到目標存儲區(qū)域中。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,用戶接口模塊將縮略圖的位圖句柄和所述臨時路徑初始化到所述COM的拖拽接口中,所述拖拽接口使縮略圖隨著輸入設備的指令而移動。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,通過將縮略圖移動到目標文件夾來確定目標存儲區(qū)域。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述縮略圖是通過Gdi+提供的API來產(chǎn)生的。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于所述用戶接口模塊包括移除單元,其用于有條件的移除臨時存儲區(qū)域圖片。
全文摘要
本發(fā)明提出了一種視頻截屏的方法及可以執(zhí)行視頻截屏的播放裝置。所述方法包括啟動播放器的用戶界面,利用輸入設備,將操作信息發(fā)送給用戶接口模塊;調(diào)用播放模塊提供的接口,UI模塊將截屏數(shù)據(jù)復制到臨時存儲區(qū)中且保存臨時存儲區(qū)的臨時路徑,并產(chǎn)生一個縮略圖;UI模塊還將縮略圖的位圖句柄和臨時路徑初始化到COM的拖拽接口中。本發(fā)明所述方法及裝置,可以將原來需要的若干步驟縮減為一步,對電腦上正在播放的視頻能實現(xiàn)快速截屏且方便保存,同時還可以預覽截屏效果及避免時滯。
文檔編號G06F9/44GK102799422SQ201110137480
公開日2012年11月28日 申請日期2011年5月23日 優(yōu)先權(quán)日2011年5月23日
發(fā)明者吳維檢, 關(guān)瑋, 張愷 申請人:深圳市快播科技有限公司